嘿傢伙我絕對是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()將在產品之後。解決了。謝謝! –