Integer.parseInt () - Fehler
ich bin immer ein Fehler beim Versuch Sie zu verwenden Integer.parseInt()
. Sie sind, keine geeignete Methode gefunden parseInt(int) und die Methode Integer.pasreInt(String) nicht anwendbar.
import java.io.InputStream;
import java.util.Scanner;
import java.util.regex.Pattern;
class bday1
{
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
int day;
int month=0;
int year;
int whatDay;
int howManyDays=0;
int leapYear;
final int JANYEAR = 1901;
int[] dayMonth = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
boolean numberEntered=true;
String strMonth;
String[] days = {"Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"};
System.out.print("What is your birthdate? ");
sc.useDelimiter(Pattern.compile("[-/.\\s]"));
day = sc.nextInt();
strMonth = sc.next();
year = sc.nextInt();
if((strMonth.charAt(0) >='0') && (strMonth.charAt(0) <='9'))
{
numberEntered=true;
System.out.println ("number entered");
}
if(numberEntered)
{
strMonth=Integer.parseInt(month);
}
else
{
System.out.println ("string entered");
}
Das ist mein code-snippet ein, ich glaube ich Probleme mit. Jede Hilfe wäre toll.
Sie müssen verstehen, den Unterschied zwischen Parameter-und Rückgabewerte.
Herzlich willkommen auf StackOverflow. Wenn Sie eine Frage stellen in Bezug auf einen Fehler, den Sie brauchen, um die Versorgung der Fehler, den du immer und wenn es Auftritt. (In diesem Fall, vermute ich, Sie erhalten die Fehlermeldung, wenn Sie versuchen, um diesen code zu kompilieren.) Es hilft auch, zu versuchen, Sie zu entfernen, wie viel von Ihrem code, der nicht den Fehler verursachen, wie möglich.
Herzlich willkommen auf StackOverflow. Wenn Sie eine Frage stellen in Bezug auf einen Fehler, den Sie brauchen, um die Versorgung der Fehler, den du immer und wenn es Auftritt. (In diesem Fall, vermute ich, Sie erhalten die Fehlermeldung, wenn Sie versuchen, um diesen code zu kompilieren.) Es hilft auch, zu versuchen, Sie zu entfernen, wie viel von Ihrem code, der nicht den Fehler verursachen, wie möglich.
InformationsquelleAutor Ethan Edwards | 2013-08-28
Du musst angemeldet sein, um einen Kommentar abzugeben.
Seit Monat ist auf null initialisiert und nicht nachträglich geändert, Einstellung
strMonth
zumonth
nur dann gelingen würde, in den Wert 0 festlegen. Durch die Blicke von Ihren code, es scheint, dass Sie versuchen, den Wert vonmonth
zustrMonth
. Um dies zu tun, ersetzen:Mit:
Der Einnahme noch einen Blick über deinen code ist mir aufgefallen, dass Sie wahrscheinlich versuchen
month
zustrMonth
alsmonth
sonst stecken als 0. Ich habe bearbeitet meine Antwort entsprechend. @EthanEdwardsKompiliert in Ordnung, aber wenn die Eingaben des Benutzers zum Beispiel: 15/Juli/1993 gibt es eine numberformatexception
ah es festgelegt, wie Boolesche Werte werden immer auf true gesetzt, es war in der if-Anweisung, wo es war, analysieren die int. das war Fehler zurückgeben. ich habe eine else-Anweisung, wo
numberEntered=false;
.InformationsquelleAutor Decimix
In Sie code, den Sie verwenden parseInt erwartet einen String. Der Monat, den Sie verwenden, ist schon ein int.
Was Sie versuchen zu tun ist, konvertieren eines int in einen String.
Normaler Weise wäre
Integer.toString(i)
oderString.valueOf(i)
.InformationsquelleAutor Scary Wombat
Sie versuchen, zuweisen der String-Wert in der int-Datentyp. so nur es wird nicht damit Sie.
Und dann die
Integer.parseInt()
zurückkehren wird der String-Wert. Ändern Sie den Typ auf String oder konvertieren Sie die Zeichenfolge in intversuchen
InformationsquelleAutor newuser