2014-01-28 160 views
0

我正在嘗試編寫一個處理地震和震級的小程序。輸入for循環的正確條件

當程序運行時,它會要求用戶輸入一個數字,表示用戶想要提交幅度的地震數量。根據響應,程序會提示用戶輸入每次地震的震級。我在下面寫了下面的代碼,但在for loop遇到問題。

很明顯,在for循環中,把i <= numberOfEarthquakes禁止程序編譯正確。給i一個與用戶輸入號碼相關的條件的簡單方法是什麼?非常感謝。

(這是我希望能寫一個更大的計劃的一小部分)

import java.util.*; 

public class Earthquakes { 

    public static void main(String[] args) { 

     Scanner console = new Scanner(System.in); 
     System.out.print("How many magnitudes will you enter? "); 
     String numberOfEarthquakes = console.next(); 

     for (int i = 1; i <= numberOfEarthquakes; i++) { 
      System.out.print("Enter magnitude for earthquake " + i); 
      String magnitudeOfEarthquake = console.next(); 
     } 
    } 
} 
+2

閱讀編譯器錯誤。您需要將字符串解析爲數字。 – SLaks

+0

parse console.next()像這樣Integer.parseInt(numberOfEarthquakes); – Zeus

+3

@Zeus不要那樣做。那只是重新發明輪子而讓人困惑。相反,做'console.nextInt();' – Justin

回答

5

將此String numberOfEarthquakes = console.next();int numberOfEarthquakes = console.nextInt();

你不能int比較String

+0

非常感謝!我會upvote你,但我的評價太低。 – Rivers31334

0

將您的numberOfEarthquakes從字符串轉換爲整數。使用Integer.parseInt(numberOfEarthquakes)將String轉換爲Intger。