解析 JAVA 后计算"Strings"列表的总和



我想计算列表中内容的总和。这是我的代码:

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;
            }
        }

    }
}

您看到用户可以输入号码,但将其保存为字符串,因此我对其进行了解析。但是在那之后,我尝试进行计算,只需列出列表的最后一项。有没有办法获取所有输入来计算总和?

以下是代码的修改部分。正如其他人指出的那样,您只能初始化一次扫描仪。另外,由于循环将继续进行,因此继续陈述是多余的。

    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);
        }
    }

i = Integer.parseInt((String) item);之后,您需要将i添加到您的总和中。因此,此后添加以下行:

sum= sum + i;

然后只打印总和为

System.out.println(sum);

相关内容

最新更新