2011-09-30 57 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) {