2011-09-30 82 views
0

修正了很多問題,在myInt聲明中出現錯誤,說它找不到解析方法。我已經添加了與它一起提到的導入NetBeans,但仍然沒有任何結果。這裏的更新代碼:我如何獲得此IF聲明的工作?

import java.util.Scanner; 
import java.lang.Integer; 
import java.lang.String; 

public class Salary { 
int salary; 
int sales; 

public static void main(String[] args) { 
    Scanner input = new Scanner (System.in); 
    double Salary; 
    Salary salary = new Salary(); 

    System.out.print("Please enter the amount of items sold by the employees:"); 
    String sales = input.nextLine(); 
    String salesArray[] = sales.split(" "); 

    Integer myInt = Integer.parse(salesArray[i]); 

    for(int i=0; i<salesArray.length; i++){ 

    System.out.print(salesArray[i] + " "); 
    if (Integer.parseInt(salesArray[i]) <= 0) { 
    System.out.println("Please enter a value greater than zero");} 
    else { 
    Salary = (myInt * 0.09) + 200; } 
    } 

} 

} 

非常感謝所有的幫助,我真的很感激它。

+0

羅伯特,你能用幾句短句來表達這個問題嗎?這可能更好讀 – smas

+0

你可能想'Integer myInt = Integer.parseInt(salesArray [i]);' *在循環中*變量「i」有效。 ; - > –

回答

0

salesArray是字符串數組。該equals方法應採取一個字符串,那就是:salesArray[i].equals("0")

但正確的方法是使用Integer.parseInt(..)

1

你可能會希望將字符串解析爲一個整數試圖對其執行數學運算之前(小於或等於,在這種情況下)。您不妨試試這樣的:

import java.util.Scanner; 

public class Salary { 

double salary; 
int sales; 

public static void main(String[] args) { 
    Scanner input = new Scanner (System.in); 
    Salary salary = new Salary(); 
    System.out.print("Please enter the amount of items sold by the employees:"); 
    String sales = input.nextLine(); 
    String salesArray[] = sales.split(" "); 

    for(int i=0; i<salesArray.length; i++){ 
     Integer myInt = Integer.parse(salesArray[i]); 
     System.out.print(myInt + " "); 
     if (myInt <= 0) { 
     System.out.println("Please enter a value greater than zero");} 
     else { 
     salary = (myInt * 0.09) + 200; } 
     } 
    } 

} 

您的解決方案檢查,看看是否該字符串等於整數0,它永遠不會是,因爲它是一個字符串被比較爲整數。即使你檢查了salesArray[i].equals("0"),這仍然只意味着它完全等於「0」,無視諸如「000」或「0.0」等同的形式。你也在你的問題中表明你想要一個「小於或等於」關係,而不是「等於」關係。如果字符串正好是「0」,則只能進行字符串比較。

0
if (Integer.parseInt(salesArray[i]) <= 0) {