在while循环中打印整数的最终和

nc1teljy  于 2021-06-27  发布在  Java
关注(0)|答案(3)|浏览(357)

我正在学习java,有一个非常简单的问题。
如何打印while循环的最终结果?
如果我输入整数10 10 40,我得到的输出是10 20 60,但我只想得到最后的60。
这个答案也可以涉及到打印最终的任何东西在一段时间内循环,因为我只是不能得到这个。
下面是我的示例代码。。。

public static void main(String[] args) {
    Scanner in = new Scanner(System.in);
    System.out.println("Enter a sequence of numbers to sum up: ");
    double total = 0;
    while (in.hasNextDouble()) {
        double input = in.nextDouble();
        total = total + input;

     System.out.println("The Sum is: " + total);
    }

}
zdwk9cvp

zdwk9cvp1#

请,打印总外的循环,它会工作良好!代码:

public class test {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        System.out.println("Enter a sequence of numbers to sum up: ");
        double total = 0;
        while (in.hasNextDouble()) {
            double input = in.nextDouble();
            total = total + input;
        }
        System.out.println("The Sum is: " + total);
    }
q35jwt9p

q35jwt9p2#

问题在于: System.out.println("The Sum is: " + total); 如果您只想打印最终金额,则需要在 while 循环。

zqry0prt

zqry0prt3#

你的主要问题是你把print语句放在了循环中。
也, in.hasNextDouble() 从键盘输入没有意义;当您从文件或数据库中读取数据时,它非常有用 Scanner 为了一些绳子。您可以使用无限循环(例如。 while(true){...} )并在没有用户输入时中断它。

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        System.out.println("Enter a sequence of numbers to sum up, press Enter without any input to exit: ");
        double total = 0;
        while (true) {
            String input = in.nextLine();
            if (input.isBlank()) {
                break;
            }
            total += Double.parseDouble(input);
        }
        System.out.println("The Sum is: " + total);
    }
}

示例运行:

Enter a sequence of numbers to sum up, press Enter without any input to exit: 
10
20
30

The Sum is: 60.0

演示一个 Scanner 对于字符串:

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner("10 20 30");
        double total = 0;
        while (in.hasNextDouble()) {
            double input = in.nextDouble();
            total = total + input;
        }
        System.out.println("The Sum is: " + total);
    }
}

输出:

The Sum is: 60.0

相关问题