addAll方法集合接口问题

时间:2017-01-07 18:19:05

标签: java

我要做的是用数组列表执行两种收集接口的方法,即我创建了一个简单的菜单。

首先我使用了案例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);
     }
    }

1 个答案:

答案 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);
 }
}