Type mismatch: cannot convert from String to int
Bin ich zu schreiben versucht, einen Java-code für mein java-Klasse, und ich bin immer folgende Fehlermeldung wenn ich den code ausführen:
"Type mismatch: cannot convert from String to int;"
Hier ist die Aufgabe:
"Write a program that reads in a single digit number from the keyboard into an
integer variable. Your program will then print the number spelled out. If the user
types in a number that is more than one digit, your program must print an error
message. If the user types in a negative number, your program should print the word
"negative" before the digit spelled out."
Dies ist, was ich habe, so weit:
import java.util.Scanner;
public class ReadsNumber{
public static void main(String[] args){
String[] a = new String[10];
a[0] = "Zero";
a[1] = "One";
a[2] = "Two";
a[3] = "Three";
a[4] = "Four";
a[5] = "Five";
a[6] = "Six";
a[7] = "Seven";
a[8] = "Eight";
a[9] = "Nine";
Scanner inputStream = new Scanner(System.in);
int integer;
while(true){
System.out.println("Input an integer: ");
integer = inputStream.next();
if (integer < 0)
System.out.println("negative");
else if (integer > 9)
System.out.println("error");
else
System.out.println(a[integer]);
}
}
}
- Was denkst du, was der Fehler bedeutet? Was bedeutet
next()
zurück? Was istinteger
erklärt?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den
next
Methode gibt einString
, und es kann nicht automatisch in eineint
. Rufen SienextInt
statt.Möglicherweise möchten Sie auch zu nennen
hasNextInt()
um festzustellen, ob das, was als Nächstes auf dieScanner
ist eigentlich eine Ganzzahl.Müssen Sie
parse die ganze Zahl zuerstverwendenScanner#nextInt()
:Werden, die dann Lesen, eine Reihe von Zeichen aus dem input, und wandeln Sie diese in eine Ganzzahl. Wenn die Eingabe ungültig (nicht numerisch oder zu groß), wird eine exception geworfen und das Programm wird beendet.
Mein Lieber Freund, den Sie verwendet haben scanner, um die Eingabe als integer, aber Sie haben
inputstream.next();
aber Ihre Eingabe ist eine ganze Zahl, die Sie haben zu verwenden
inputstream.nextInt();
da next() wird verwendet, um einen string und nextInt() ein Integer.