operator < nicht angewendet werden kann, um java
Da unten habe ich eingegeben javac App.java auf mac-Terminal und ich sehe Betreiber fünf Fehler, alle sind gleich. Ich bin mir nicht sicher, wie es zu lösen ist als unten, und ich Schätze Ihre Hinweise?
Habe ich importieren javabook.*; und das ist JAVA-code auf Textpad.
import javabook.*;
//import java.util.Scanner;
class App
{
public static void main(String args[])
{
//declare variable
String theNumber;
//declare object
Scanner someInput;
//input
System.out.println("Please enter area size : ");
someInput = new Scanner(System.in);
theNumber = someInput.nextLine();
//processing
if ( theNumber < 20 )
{
System.out.println( "It is too small." ) ;
}
else if ( theNumber > 20 && theNumber < 40 )
{
System.out.println( "It is perfect size." ) ;
}
else if ( theNumber > 40 && theNumber < 60 )
{
System.out.println( "It is too big." ) ;
}
//close the program without error
System.exit(0);
}
}
Terminal response als App.java:28: operator < nicht angewandt werden kann java.lang.String,int
if ( Zahl < 20 )
Ich würde Ihre Hilfe schätzen?
AKTUALISIERT:
import javabook.*; //Same result Scanner or javabook. Tried both and it worked.
import java.util.Scanner; //this is required
class App
{
public static void main(String args[])
{
//declare variable
//String theNumber;
//int theNumber = Integer.parseInt(someInput.nextLine());
int theNumber; //need to convert your string theNumber to an int first. If you search for that, you'll find lots, both here and on the internet generally.
int a = Integer.parseInt(theNumber);
//theNumber = someInput.nextInt(); //this is commented out so now down to two errors
//declare object
Scanner someInput;
//input
System.out.println("Please enter area size : ");
someInput = new Scanner(System.in);
theNumber = someInput.nextLine();
//processing
if ( theNumber < 20 )
{
System.out.println( "It is too small." ) ;
}
else if ( theNumber > 20 && theNumber < 40 )
{
System.out.println( "It is perfect size." ) ;
}
else if ( theNumber > 40 && theNumber < 60 )
{
System.out.println( "It is too big." ) ;
}
//close the program without error
System.exit(0);
}
}
"string" < 42
ist ungültig (theNumber
ist ein String
variable).Genau so, wie Sie es sagt: Wie vergleichst du einen string, wie
abdskjh
mit 20?? Sie transformieren müssen Ihre Zeichenkette in eine Zahl, geben Sie zuerst (ein int
oder double
zum Beispiel).Danke für Eure Antworten. Wie kann ich es beheben?
Sorry, ein versehen, das jetzt entfernt.
es konnte fehlschlagen, wenn der Benutzer etwas anderes als ein int.
InformationsquelleAutor Irishgirl | 2013-05-22
Du musst angemeldet sein, um einen Kommentar abzugeben.
Der Grund, warum, den Sie speichern "Zahl" als String und dann versuchen, zu verwenden, die Integrale vergleichen. Es ist nicht eine ganze Zahl, und somit ein Fehler Auftritt.
Statt, die folgenden funktionieren würde:
Nun, Sie sind speichern von Zahl als Integer und verwenden Sie den scanner, Lesen Sie die nächste Ganzzahl, und speichern Sie es in der Zahl.
Alternativ, Sie können weiterhin verwenden Sie die Zeichenfolge und einfach wickeln Sie es mit
Integer.parseInt()
in Ihremif/else
Aussagen, sondern gegeben Sie Ihren code speichern Sie es als eineint
scheint weit mehr konstruktiv.Beachten Sie, dass der code jetzt ist zu prüfen, dass die Benutzer-Eingabe ist eine ganze Zahl. Wenn es nicht ist, wird ein Fehler geworfen werden.
Bearbeiten - Beachten Sie, dass die Scanner-Klasse importiert werden muss (wie im code von OP-es ist momentan auskommentiert.
App.java:21: cannot find symbol symbol : variable someInput Ort: Klasse App-Zahl = someInput.nextInt(); ^
App.java:24: cannot find symbol symbol : class Scanner Ort: Klasse App-Scanner someInput;
App.java:28: cannot find symbol symbol : class Scanner Ort: Klasse App someInput = new Scanner(System.in); ^
Sie sollten lernen, Lesen Sie diese Fehlermeldungen, sonst kann ich Ihnen sagen, dass Sie den ganzen Tag hier Fragen zu stellen.
InformationsquelleAutor Andrew Martin
Die Fehlermeldung für dieses ist ziemlich erklärend.
Dies ist zu sagen, dass die Java-operator '<' (kleiner als), kann nicht angewendet werden (zum vergleichen) - String und ein int.
So sind Sie versuchen zu Fragen, "400" < 20, die nicht in Java. Sie müssten konvertieren Sie Ihre string
theNumber
einen int-ersten. Wenn Sie suchen, finden Sie viele, hier und allgemein im internet.Integer.parseInt(String)
.InformationsquelleAutor matt freake
Konvertieren Sie die Zeichenfolge in eine ganze Zahl
Grundlegende Regel in Java ist, dass eine Bedingung, die ausgewertet werden müssen, boolean, das heißt, wenn(Ganzzahl) ist falsch
InformationsquelleAutor Karthik Prasad
<
operator kann nicht verwendet werden, die für String-Werte.theNumber
ist die Einnahme von String-Wert. AnalysierentheNumber
zu int und dann gelten<
Betreiber.Überprüfen Sie die api - docs
InformationsquelleAutor