2017-01-07 4 views
1

私がしようとしているのは、array-listとのコレクションインターフェイスの2つの方法、つまり単純なメニューを作成することです。addAllメソッドコレクションインターフェイスの問題

最初にケース1に行き、アレイリスト 'arr'で 'ABC'を追加してケース2に行きましたが、間違った答えが出ているようです。ケース2の場合、arrはnullです。

私はケース2のためにしたい回答:[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

case2の場合、「ar」はリストarrに追加されませんでした。大文字小文字の区別はありません。 –

+0

しかし、それはメモリ内に存在するはずです。ケース2に行く前に、ケース1に行きましたので、 'arr'の配列リストに "ABC"を置く必要があります。 @BandiKishore –

+0

あなたは 'arr'リストを消去して新しいオブジェクトを作成しているので、メモリ内では利用できません。 'ArrayList arr = new ArrayList ();' –

答えて

0

あなたが( "ABC")をarr.add追加する必要があり、ケース1の外側にそれはそれが見えるように:私は取得しています[ABC,7,AB,34]

回答ケース2へ。

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); 
} 
} 
+0

1を押すだけで50以上のデータを 'arr'に保存するとどうなりますか?私は何をすると思いますか? –

関連する問題