使用java添加多个数字

时间:2013-05-18 11:19:13

标签: java

我正在尝试通过扫描线来添加数字。我希望在按“ENTER”后立即计算答案。我应该为分隔符传递什么参数。

import java.io.*;
import java.util.*;
class add {
   public static void main(String[] args) throws IOException {
      int b=0;
      List<Integer> list  =  new ArrayList<Integer>();
      System.out.println("Enter the numbers");
      Scanner sc = new Scanner(System.in).useDelimiter(" ");
      while(sc.hasNextInt())
      {  
      list.add(sc.nextInt());
       }
      for(int i=0;i<list.size();i++) {
         b += list.get(i);
      }
      System.out.println("The answer is" + b);
   }
}

3 个答案:

答案 0 :(得分:5)

简单写一下

Scanner sc = new Scanner(System.in);
while (sc.hasNextInt()) {
    list.add(sc.nextInt());
}

这将在输入第一个非整数后立即计算结果...


如果您真的只想阅读一行输入,则需要执行以下操作:

Scanner sc = new Scanner(System.in);
String line = sc.nextLine();
for (String token : line.split("\\s+")) {
    list.add(Integer.parseInt(token));
}
// your for loop here...

答案 1 :(得分:0)

您正在向列表中添加一个项目,然后您的循环停止条件为i >= list.size();并且list.size()是0.这不是你想要的,你想尝试

int amount = in.nextInt();
for (int i = 0; i < amount; i++)

然后,您可能希望使用list.add(in.nextInt());

将项目添加到列表中

答案 2 :(得分:0)

import java.io.*;
import java.util.*;
class add {
   public static void main(String[] args) throws IOException {
      int b=0;
      List<Integer> list  =  new ArrayList<Integer>();
      System.out.println("Enter the numbers");
      Scanner sc = new Scanner(System.in).useDelimiter("[\r\n/]");
      while(sc.hasNextInt())
      {  
      list.add(sc.nextInt());

      }
      for(int i=0;i<list.size();i++) {
         b += list.get(i);
      }
      System.out.println("The answer is" + b);
   }
}