对于练习,我尝试创建一个有限大小的列表。
其次,如果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]
但没有采取任何方法来实现这一点......任何建议......?
答案 0 :(得分:2)
您可以对多个输入使用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}}
答案 1 :(得分: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();
}
}