嘿家伙我绝对是Java编程的新手。我试图制作一个程序,它接受用户的输入并将这些输入相乘,直到用户输入零。然后该程序应停止并输出以前所有数字的产品。问题是,当我在一系列数字之后输入“0”时,它会在产品序列中使用零。第二次输入零后,它终于停止,但总产品等于零。直到输入为零的整数产品在java中
import java.util.Scanner;
class Product{
Scanner sc = new Scanner(System.in);
int number;
int prod;
void doProd(){
prod = 1;
while (sc.nextInt() != 0) {
number = sc.nextInt();
prod = prod * number;
}
System.out.println("Product is "+ prod);
}
public static void main(String[] a) {
(new Product()).doProd();
}
}
感谢您的帮助!
提示:您在每次循环迭代时都使用了对nextInt()的两次调用。如果用户输入的第一个值不是0,并且如果用户输入0作为第二个值,则不会停止循环。 –
谢谢!我已将while循环中的nextInt()更改为“number”。所以我的输入数字不应该是0.另外我也给了一个初始值为1的数字。但现在我的产品似乎总是0 ... –
切换了两行,所以nextInt()将在产品之后。解决了。谢谢! –