package zh.codegym.task.task07.task0713;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
/*
玩 Javarella
1.从键盘输入 20 个数字,保存到列表中,然后再将其归类到其他三个列表中:
可以被 3 整除的数字 (x%3==0)、可以被 2 整除的数字 (x%2==0) ,以及所有其他数字。
可以同时被 3 和 2 整除的数字(例如 6)将被归入两个列表中。
列表的声明顺序非常重要。
2.printList 方法应在每行显示一个列表项。
3.使用 printList 方法显示这三个列表。首先显示 x%3 列表,接着显示 x%2 列表,然后显示最后一个列表。
要求:
• 声明并立即初始化 4 个 ArrayList<Integer> 变量。第一个列表为主列表。其他列表将作为补充列表。
• 从键盘读取 20 个数字并将其添加到主列表中。
• 将主列表中所有可以被 3 整除的数字添加到第一个补充列表中。
• 将主列表中所有可以被 2 整除的数字添加到第二个补充列表中。
*/
public class Solution {
public static void main(String[] args) throws Exception {
//在此编写你的代码
ArrayList<Integer> list = new ArrayList<>();
ArrayList<Integer> list3 = new ArrayList<>();
ArrayList<Integer> list2 = new ArrayList<>();
ArrayList<Integer> otherList = new ArrayList<>();
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
for (int i = 0; i<20;i++){
list.add(Integer.parseInt(reader.readLine()));
}
boolean flag = false;
while (list.size()>0) {
//初始化状态
flag=false;
//添加到能被3整除的集合
if(list.get(0) % 3 == 0) {
list3.add(list.get(0));
flag = true;
}
//添加到能被2整除的集合
if(list.get(0) % 2 == 0){
list2.add(list.get(0));
flag = true;
}
//如果加入过,直接删除步进
if (flag){
list.remove(0);
}else{
//未加入过,添加到其他的集合 步进
otherList.add(list.remove(0));
}
}
printList(list3);
printList(list2);
printList(otherList);
}
public static void printList(List<Integer> list) {
//在此编写你的代码
for (Integer integer : list) {
System.out.println(integer);
}
}
}
package zh.codegym.task.task07.task0713;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
/*
玩 Javarella
1.从键盘输入 20 个数字,保存到列表中,然后再将其归类到其他三个列表中:
可以被 3 整除的数字 (x%3==0)、可以被 2 整除的数字 (x%2==0) ,以及所有其他数字。
可以同时被 3 和 2 整除的数字(例如 6)将被归入两个列表中。
列表的声明顺序非常重要。
2.printList 方法应在每行显示一个列表项。
3.使用 printList 方法显示这三个列表。首先显示 x%3 列表,接着显示 x%2 列表,然后显示最后一个列表。
要求:
• 声明并立即初始化 4 个 ArrayList<Integer> 变量。第一个列表为主列表。其他列表将作为补充列表。
• 从键盘读取 20 个数字并将其添加到主列表中。
• 将主列表中所有可以被 3 整除的数字添加到第一个补充列表中。
• 将主列表中所有可以被 2 整除的数字添加到第二个补充列表中。
*/
public class Solution {
public static void main(String[] args) throws Exception {
//在此编写你的代码
ArrayList<Integer> list = new ArrayList<>();
ArrayList<Integer> list3 = new ArrayList<>();
ArrayList<Integer> list2 = new ArrayList<>();
ArrayList<Integer> otherList = new ArrayList<>();
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
for (int i = 0; i<20;i++){
list.add(Integer.parseInt(reader.readLine()));
}
boolean flag = false;
while (list.size()>0) {
//初始化状态
flag=false;
//添加到能被3整除的集合
if(list.get(0) % 3 == 0) {
list3.add(list.get(0));
flag = true;
}
//添加到能被2整除的集合
if(list.get(0) % 2 == 0){
list2.add(list.get(0));
flag = true;
}
//如果加入过,直接删除步进
if (flag){
list.remove(0);
}else{
//未加入过,添加到其他的集合 步进
otherList.add(list.remove(0));
}
}
printList(list3);
printList(list2);
printList(otherList);
}
public static void printList(List<Integer> list) {
//在此编写你的代码
for (Integer integer : list) {
System.out.println(integer);
}
}
}