बाइनरी ऑपरेटर के लिए बुरे ऑपरेंड प्रकार, "<=" काम नहीं कर रहा है, हालांकि मुझे लगता है कि मैं पूर्णांक [डुप्लिकेट] में काम कर रहा हूं
मुझे यह कहते हुए एक त्रुटि हो रही है कि मैं बूलियन का उपयोग नहीं कर सकता, पूर्णांक की आवश्यकता है, लेकिन एन एक पूर्णांक है, मैं बस एक समाधान के बारे में नहीं सोच सकता।
public static void main(String[] args) {
int N = scanner.nextInt();
scanner.skip("(\r\n|[\n\r\u2028\u2029\u0085])?");
if(1<=N<=100){
if(N % 2 != 0){
System.out.println("Weird");
} else {
if(2<=N<=6){
System.out.println("Not Weird");
} else if (6<=N<=20){
System.out.println("Weird");
} else if(N>=20){
System.out.println("Not Weird");
}
}
}
scanner.close();
}
जवाब
1 aran
आप सीधे जावा में ऐसा नहीं कर सकते:
if(1<=N<=100)
क्या होता है कि यह पहले गणना करता है (1<=N)
, जो एक लौटाएगा boolean
।
तब यह संकलन करने की कोशिश करता है ( [boolean]<=100
), जो समझ में नहीं आता है, आपको दिखा रहा है:
The operator <= is undefined for the argument type(s) boolean, int
आपके मामले में:
The operator <= is undefined for the argument type(s) [1<=N]boolean, [100]int
सभी शर्तों को बदलें ताकि वे इस फॉर्म का पालन करें:
(min<=number && number<=max)
int N = scanner.nextInt();
scanner.skip("(\r\n|[\n\r\u2028\u2029\u0085])?");
if(1<=N && N<=100)
{
if(N % 2 != 0)
System.out.println("Weird");
else
{
if (2<=N && N<=6)
System.out.println("Not Weird");
else if (6<=N && N<=20)
System.out.println("Weird");
else if(N>=20)
System.out.println("Not Weird");
}
}