我要做的是用数组列表执行两种收集接口的方法,即我创建了一个简单的菜单。
首先我使用了案例1,所以数组列表'arr'在其中添加“ABC”,然后我去了案例2,似乎我得到了错误的答案。对于案例2,arr为空。
我想要案例2的答案:[ABC,7,AB,34]
我得到了答案:[7,AB,34]
import java.util.*;
class ArrayList
{
public static void main(String [] args)
{
Scanner inp = new Scanner(System.in);
int ch=0;
do
{
System.out.println("Press 1,add.");
System.out.println("Press 2,addAll.");
System.out.println("Enter your choice?");
Integer choice = inp.nextInt();
ArrayList <String>arr = new ArrayList<String>();
switch(choice)
{
case 1:
arr.add("ABC");
System.out.println("Enter the elements in an arraylist:");
int i=0;
while(i<2)
{
String obj=inp.next();
arr.add(obj);
i++;
}
System.out.println("The elements are:" +arr);
break;
case 2:
ArrayList <String>arr1=new ArrayList<String>();
arr.add("7");
arr1.add("AB");
arr1.add("34");
arr.addAll(arr1);
System.out.println("The elements are:" +arr);
break;
}
System.out.printf("Press 0 to continue?");
ch=inp.nextInt();
}while(ch==0);
}
}
答案 0 :(得分:0)
你应该在case1之外添加arr.add(“ABC”);以便case2可以看到它。
import java.util.*;
class NewTestC
{
public static void main(String [] args)
{
Scanner inp = new Scanner(System.in);
int ch=0;
do
{
System.out.println("Press 1,add.");
System.out.println("Press 2,addAll.");
System.out.println("Enter your choice?");
Integer choice = inp.nextInt();
ArrayList <String>arr = new ArrayList<String>();
arr.add("ABC");
switch(choice)
{
case 1:
System.out.println("Enter the elements in an arraylist:");
int i=0;
while(i<2)
{
String obj=inp.next();
arr.add(obj);
i++;
}
System.out.println("The elements are:" +arr);
break;
case 2:
ArrayList <String>arr1=new ArrayList<String>();
arr.add("7");
arr1.add("AB");
arr1.add("34");
arr.addAll(arr1);
System.out.println("The elements are:" +arr);
break;
}
System.out.printf("Press 0 to continue?");
ch=inp.nextInt();
}while(ch==0);
}
}