计算“a”的和;“字符串”;解析JAVA后的列表
我想计算列表中内容的总和。这是我的代码:计算“a”的和;“字符串”;解析JAVA后的列表,java,Java,我想计算列表中内容的总和。这是我的代码: import java.util.ArrayList; import java.util.Scanner; public class demo { public static void main(String[] args) { int sum = 0; int i = 0; ArrayList nummer = new ArrayList(); // make new list
import java.util.ArrayList;
import java.util.Scanner;
public class demo {
public static void main(String[] args) {
int sum = 0;
int i = 0;
ArrayList nummer = new ArrayList(); // make new list
while (true) {
Scanner input = new Scanner(System.in); // start scanner
System.out.print("Voer uw naam in: ");
String naam = input.nextLine(); // scanner waiting for input + enter
if (naam.equals("0")) {
System.out.println("Wrong, exit!");
input.close();
for (Object item : nummer) { // foreach-loop
System.out.print(item + "\n");
i = Integer.parseInt((String) item);
}
System.out.println(sum = i);
break;
} else {
nummer.add(naam);
continue;
}
}
}
}
如您所见,用户可以输入数字,但它将保存为字符串,因此我对其进行了分析。但在那之后,我试着进行计算,它只需要列表中的最后一项。是否有方法获取所有输入以计算总和?在
i=Integer.parseInt((字符串)项)行之后代码>,您需要将i添加到您的总和中。因此,在这之后添加以下行:
sum=sum+i代码>
然后把总和打印成
System.out.println(总和)代码>下面是代码的修改部分。正如其他人指出的,您应该只初始化扫描仪一次。此外,continue语句在您使用它的地方是多余的,因为循环仍将继续
int sum = 0;
int i = 0;
ArrayList nummer = new ArrayList(); // make new list
Scanner input = new Scanner(System.in); // start scanner
while (true) {
System.out.print("Voer uw naam in: ");
String naam = input.nextLine(); // scanner waiting for input + enter
if (naam.equals("0")) {
System.out.println("Wrong, exit!");
input.close();
for (Object item : nummer) { // foreach-loop
System.out.print(item + "\n");
i = Integer.parseInt((String) item);
sum += i;
}
System.out.println(sum);
break;
} else {
nummer.add(naam);
}
}
您确定sum=i
表达式吗?如果您使用的是Java 1.7+,那么您的ArrayList应该使用泛型类型。此外,您应该只实例化一次Scanner对象。将其移到while循环之外。Nevermind发现问题:i+=Integer.parseInt((字符串)项);我必须在=xDbtw之前添加+:您可以使用scanner.nextInt()方法。我想您的意思是写sum+=I,我非常感谢您