2016-01-29 49 views
0

我是編程世界的新手,希望有人能解決這個問題並讓我明白,輸出總是「沒有數據輸入」。爲什麼它用count ++可以正常工作;但不能用count = count ++;

public class Trial { 

public static void main(String[] args){ 
    Scanner firstno = new Scanner(System.in); 
    int count = 0; 
    double sum = 0; 
    System.out.print("enter first number: "); 
    double firstnoin = firstno.nextDouble(); 
    while (firstnoin != 0){ 
     sum += firstnoin; 
     count = count++; 
     System.out.print("Enter next number, or 0 to end: "); 
     firstnoin = firstno.nextDouble(); 

    } 
    if(count == 0){ 
     System.out.println("No data is entered."); 
    } 
    else { 
     System.out.println("Average of the data is: "+(sum/count)+", number of terms are "+ count); 
    }   

} 
} 
+0

你可以嘗試分配另一個變量例如int counter = count ++; System.out.println(「counter的值:」+ counter); – Blaze

回答

0

你只是做了一個語義錯誤 - 這是當你的程序仍然編譯和工作,但只是不工作,你究竟如何想還是不這樣做,你希望它是什麼。

在你的情況,你有以下幾種:

count = count++ 

如果count = 0,這塊count將僅保留count = 0。因此,爲什麼你每次都得到'沒有輸入數據'。

相反,你需要:

count++; 

這將每次1增量次數。

或者,你可以使用:

count = count + 1; 

同樣,這將count的價值,並添加1給它,然後保存的count這個新的價值。

您也可以將其更改爲+ 2+ 3等等等等,你想,你也可以這樣做:

count += 1 

這也將增加count通過1,這也可以改爲23等,如你所願。

+0

@Tunaki它肯定是一個語義錯誤,這是當它仍然有效,但沒有做你想做的事時,我第一次意外地寫了語法。 – James

相關問題