当我键入1时,ArrayList现在为1,然后当我重新运行代码并键入2时,ArrayList
打印2,但是我需要打印2,最后一个答案是1。
public static void main(String[] args) {
// write your code here
ArrayList<Integer> num = new ArrayList<>();
Scanner s= new Scanner(System.in);
int answer =s.nextInt();
num.add(answer);
System.out.println(num);
System.out.println(num.size());
}
答案 0 :(得分:0)
每次运行该程序时,都会创建一个新的ArrayList对象(显然,新的ArrayList对象为空)。这就是为什么您看不到以前运行的输入的原因。
答案 1 :(得分:0)
要获取您在运行时为另一个运行时输入的元素,应将值保存在文件(辅助存储)中,并在运行程序时读取它 因此您的代码应该是这样的,在代码末尾,将新数据写回到同一文件中
ArrayList<Integer> num = new ArrayList<>();
File file = new File("file.txt");
try (Scanner sc = new Scanner(file)) {
while (sc.hasNextLine()){
MyText+=sc.nextLine();
num.add(Integer.parseInt(myText))
}
Scanner s= new Scanner(System.in);
int answer =s.nextInt();
num.add(answer);
System.out.println(num);
System.out.println(num.size());
答案 2 :(得分:-1)
我不清楚您的目标是什么,如果重新运行该代码,arraylist将清除最后一个代码,您可能想尝试一下:
public static void main(String[] args) {
// write your code here
ArrayList<Integer> num = new ArrayList<>();
Scanner s= new Scanner(System.in);
int answer =s.nextInt();
num.add(answer);
int answer2 = s.nextInt();
num.add(answer2);
for(int answers: num) {
System.out.println(answers);
}
}