2017-06-03 8 views
0

実際には、限られたサイズのリストを作成しようとしています。ArrayListの要素をユーザーから入力します。

第2に、Listのサイズが5の場合、ユーザーはコンソール5から異なる値を1つずつ入力し、5に達するかすべての値を入力するとListが表示されます。

私はどのようにの最大サイズまで、ユーザからの入力から取っ保つためというところ問題、のようですが、ユーザからの入力を与えている知っているが、コード内でそのノーどこ書かれたいくつかの

import java.util.Scanner; 
import java.util.*; 

public class Firstlastarray { 

    public static List<Integer> Makearray(int arry) { 

     List<Integer> mylist = new ArrayList<Integer>(); 

     mylist.add(arry); 

     return mylist; 
    } 

    public static void main(String[] args) { 

     Scanner ip = new Scanner(System.in); 
     int ArrayElements = ip.nextInt(); 
     System.out.println(Makearray(ArrayElements)); 

    } 

} 

を書かれていますリストと一度最大サイズに達した...ユーザーが入力したすべての要素の一覧を表示します。サイズは5、 であれば例えば

、そして、ユーザは、1つにより、コンソール1からの値を入力します達し

1 
2 
8 
9 
3 

が最大リミット言うことができます。..

出力は[1,2,8,9,3]

だろう。しかしこれを達成するためのアプローチを得ていない...任意の提案..?

答えて

2

複数の入力にループforを使用できます。また、代わりにArrayListに(方法で)毎回作成するのではなく、あなたが一度ArrayListを作成することができ、例えば、それに要素を追加し続ける:

List<Integer> mylist = new ArrayList<>(); 
Scanner scanner = new Scanner(System.in); 
for(int i=0 ; i < 5 ; i++){ 
    mylist.add(scanner.nextInt()); 
} 
System.out.println(mylist); 
scanner.close(); 
+1

はいああ、...このアプローチをありがとう。.. –

+0

@Darshanをそれを修正するためのおかげ:(ペーストエラーをコピー...私は可能ということです、それを行うための他の方法を見るのを助けますあなたのコードを一つのメソッドに入れ、そのメソッドをmain main meで呼び出すことができますそれとも...? CODEはクラスから始まり、次にこのタスクを実行し、そのメソッドをmainメソッドで呼び出すメソッドです。私はあなたがそれをやろうとしている方法を得ることを願っています:) – LearnJava

+0

はい、絶対に。このコードをメソッドにラップし、最後にこのリストを印刷するのではなく '返す 'ことができます。 –

0

こんにちは、これは私がやったコードの小さな作品です、それは願っています

public class ArrayLimitedInput { 

static Scanner scanner = new Scanner(System.in); 

public static void main(String[] args) { 

    List<String> mylist = new ArrayList<>(); 
    int size; 
    System.out.println("Please enter size of list"); 
    size=scanner.nextInt(); 
    makeArray(mylist, size); 

} 

public static void makeArray(List<String> list, int size){ 

    for(int i=0 ; i < size ; i++){ 
     System.out.println("Please enter interger N° "+ (1+i)); 
     if(i<(size-1)) 
      list.add(scanner.nextInt()+ ","); 
     else 
      list.add(scanner.nextInt()+ ""); 
    } 

    System.out.println("resume of enter element1s "); 
    System.out.print("["); 
    Iterator<String> itr = list.iterator(); 
    while(itr.hasNext()){ 
     System.out.print(itr.next()); 
    } 
    System.out.print("]"); 
    list.clear(); 
} 

}

関連する問題