2014-06-22 520 views
-1

我的,我已經有問題的代碼此塊:字符串數組轉換成整數

int n = 5; 
    String[] variables = new String[31]; 
    //user input defining the strings in the array 
for(int i = 1; i < n+1; i++) 
{ 
    System.out.print("Define variable " + i + ": "); 
    variables[i] = System.console().readLine(); 
    System.out.println("Variable " + i + " has been set to " + variables[i]); 
} 
int vfirstDigit; 
    //some irrelevant code excluded 
for(int firstDigit = 1; firstDigit < n+1; firstDigit++) 
{ 
    switch(firstDigit) 
    { 
     case 1:    
     vfirstDigit = variables[1]; 
     break;    
    } 
} 

當我打電話變量[1]中的switch語句,所述編譯器標記爲錯誤,說該字符串數組不能轉換爲一個整數。當用戶輸入必須是字符時,爲什麼調用數組中的特定字符串將其轉換爲整數?很確定我在這裏做錯了什麼。

+0

如果你的字符串包含JUST號碼,你不需要解析它。你能發佈你的switch語句嗎? –

回答

0

使用,

vfirstDigit = Integer.parseInt(variables[1]); // vfirstDigit is an int and variables[1] returns a String. you have to convert (parse) the String to an int. 

parseInt函數()是在整數類的靜態方法。它有許多重載形式(即許多形式不同的參數)。它返回傳遞的值的整數表示形式。

+0

你如何確定變量的內容包含數字? –

+0

@KickButtowski - 然後他將最終以NumberFormatException。它的東西必須由OP保養。 – TheLostMind

+0

真棒,它看起來像它的作品。你能解釋一下嗎?試圖學習:D – Kalashnikov

0

數組是一個對象。您需要使用Integer的parseInt方法將其轉換爲數字。