Скорее всего, вы захотите проанализировать строку до целого числа, прежде чем пытаться выполнить математические операции над ней (в этом случае меньше или равно).Вы можете попробовать что-то вроде:
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».