2017-06-03 73 views
0

在ArrayList中添加元素练习中,我试图创建一个有限大小的列表。其次,如果一个List的大小是5,那么用户将从控制台5一个一个地输入不同的值,一旦它达到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 
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 ...感谢这个方法......这是可能的我可以把你的代码放在一个方法中,然后在主要方法中调用该方法的ThOD ...? 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(); 
} 

}