繁体   English   中英

如何打印循环中使用的所有输入

[英]How to print all inputs used from loop

我试图有一个输出,其中循环中输入的数字都作为单独的数字打印出来。 示例:输入的数字: 10, 15, 1, 25

这是我的代码:

import java.util.Scanner;

public class SumofNumbersAbove0 {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        int number = 0;
        int input;
        for (input = 0; input >= 0;) {
            number = number + input;
            System.out.print("Enter number: ");
            input = scan.nextInt();
        }
        System.out.println("Entered Number: " + input);
        System.out.println("The sum: " + number);
    }
}

我正确地得到了所有数字的总和。 但我对输入的数字所得到的只是最后一个。

将您的input打印移动到实际存在每个input值的循环中。 在你拥有它的地方,你只能得到最后的input

for (input = 0; input >= 0;) {
    number = number + input;
    System.out.print("Enter number: ");
    System.out.println("Entered Number: " + input);
    input = scan.nextInt();
}
System.out.println("The sum: " + number);

问题:在您的代码中,您input的两个变量和number (应该命名为 sum)正在解决非常不同的目的。 input是一个短暂的行人,用户输入的值来了。 从那里,该值被添加到number ,然后是另一个用户输入的值,该值落在同一个基座上,从而取消了之前的值。

因此,当您在代码底部打印input时,您找到的值是最后一个到达 pedestrial 的值(在您的情况下是某个整数 < 0)

解决方案:您想要的是对每个输入值执行操作(打印)。 您可以执行以下任一操作-

  1. 在丢失值之前执行操作 我的意思是打印循环本身中的值。 将值添加到number是您在丢失值之前已经在执行的另一项操作
  2. 保留所有输入值 在这里,您需要有一些更大的基座,它可以容纳所有传入的用户输入值,而不会破坏以前的值。 一旦你拥有了所有这些,你就可以重新审视这些值并对它们进行操作。 打印它们可能是一个操作,将它们的值累加到另一个变量number可能是另一个操作。

希望有帮助

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM