В следующем коде &&
в выражении if else дает синтаксическую ошибку, и я не уверен, как ее решить. Может ли кто-нибудь предложить решение?Проблема с оператором &&
//Importing scanner
import java.util.Scanner;
public class Credithistory {
public static void main(String[] args) {
//Stating scanner gets its input from console
Scanner scanner= new Scanner (System.in);
//declaring int and boolean
int age;
boolean goodCreditHistory;
System.out.println("Please enter your age... ");
age= scanner.nextInt();
System.out.println("Do you have a good credit history (true or flase)?");
goodCreditHistory= scanner.nextBoolean();
if (age>=18) && (goodCreditHistory== true){ // <-------------- Error
System.out.println("You have got a credit card!");
} else
System.out.println ("Sorry you are not eligible for a credit card.");
}
}
Это избыточное писать '== true' в' if' заявления. Возможная проблема, которая может произойти, заключается в назначении по ошибке вместо сравнения. Так что просто напишите 'if (something)' вместо 'if (something == true)'. – Maroun
Ответы, которые не имеют круглых скобок вокруг первого условия, то есть (age> = 18), используют преимущество приоритета оператора. Взгляните на http://docs.oracle.com/javase/tutorial/java/nutsandbolts/operators.html. > = Имеет более высокий приоритет, чем &&, поэтому он будет оцениваться первым, даже без круглых скобок. – rajah9