Hallo^^,
tut mir leid wenn ich jetzt bestimmt mit so einer dummen Frage komme,
aber ich bekome es einfach nicht hin meine int eingabe, in einen String umzuwandeln,
um diese dan in meine Methode einzufügen.
Hier der Code:
Java:
publicclassJavaApplication16{publicstaticvoidmain(String[] args){int zufall =(int)(Math.random()*3);int[] array ={zufall,zufall+1,zufall+2};
kleinesSpiel ks =newkleinesSpiel();Eingabe eg =newEingabe();String text ="Geben sie eine Zahl ein: ";int i_text =Integer.parseInt(text);int eingabe = eg.getBenutzereingabe(i_text);String test;
test =String.valueOf(eingabe);
ks.ZieleErstellen(array);
ks.prüfen(test);}}
[JAVA=14]
//....
Eingabe eg = new Eingabe();
String text = "Geben sie eine Zahl ein: ";
int eingabe = Integer.parseInt(eg.getBenutzereingabe(text));
//....[/code]
Hallo^^,
also ich habe den obigen teil weggelassen...
Mein Code sollte eigentlich 3 Zahlen in einem Array erzeugen.
Wenn dan z.B die Zahl 5 generiert wurde und ich Zahl 2 eingebe,
soll dan da stehen Vorbei, und das solange bis man halt alle getroffen hat.
Aber das mit der eingabe geht iwie nicht=(.
Den dan kommt diese:
Java:
run:Exception in thread "main" java.lang.NumberFormatException:For input string:"Geben sie eine Zahl ein: "
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
at java.lang.Integer.parseInt(Integer.java:449)
at java.lang.Integer.parseInt(Integer.java:499)
at javaapplication16.JavaApplication16.main(JavaApplication16.java:96)JavaResult:1
wir kennen weder die Klasse kleinesSpiel (sollte KleinesSpiel heissen) noch die Klasse Eingabe noch können wir mit der Aussage "geht nicht" im entferntesten was anfangen. Also was erwartest du von uns?
edit: warum parst du dann überhaupt, wenn du einen string brauchst???
nrg??
Ich wollte nur WIssen wie ich die Eingabe in einen String umwandle wobei sie aber nur int Werte nehmen soll.
Außerdem habe ich es oben erklärt was das Spiel machen soll....
Edit
Weil meine Eingaben KLasse nur Zahlen animmt,
und meine Methode eine String eingabe will ;D
ja. davon bist du noch weit enfernt. ich weiß immernoch nicht, was Eingabe#getBenutzereingabe(String ..) für einen return hat noch was kleinesSpiel#prüfen(????) parametriesiert wird.
Wenn es so ist, wie ich vermute bzw. du teilweiße sagst (return von getBenutzereingabe String und prüfen(String..)), dann frage ich mich, für was du überhaupt zum parsen anfängst?
edit: ok. zeig doch bitte einfach die beiden klassen. so können wir noch ewig raten...
hab jetzt nicht weiter auf stil und so geachtet sondern nur die methoden anständig parametrisiert. probiers mal aus. ist jetzt auch nur in den browser getippt, also wenn was nicht gehen sollte sag blos nicht "es geht nicht"
Java:
package javaapplication16;importjava.io.*;////////////////////////////////Eingabe/////////////////////////////////////////classEingabe{publicStringgetBenutzereingabe(String prompt){String eingabeZeile =null;System.out.print(prompt);try{BufferedReader is =newBufferedReader(newInputStreamReader(System.in));
eingabeZeile = is.readLine();}catch(IOException e){System.out.println("IOException: "+ e);}return eingabeZeile;}}////////////////////////////////Eingabe////////////////////////////////////////////////////////////////////////Spiel////////////////////////////////////////////class kleinesSpiel
{int[] orte;intVersuche;publicvoidZieleErstellen(int[] ziele){
ziele = orte;}//Hier wird geprüft ob man ein Dot Getroffen hat!publicString prüfen(int tip){String ergebnis ="Nicht getroffen";for(int in : orte){if(in == tip){return ergebnis ="Getroffen";}//if Ende;Versuche++;break;}//for Ende;if(orte.length ==Versuche){return ergebnis ="Versenkt";}//if Ende;return ergebnis;}//prüfen Ende;}///////////////////////////////Spiel////////////////////////////////////////////publicclassJavaApplication16{publicstaticvoidmain(String[] args){int zufall =(int)(Math.random()*3);int[] array ={zufall,zufall+1,zufall+2};
kleinesSpiel ks =newkleinesSpiel();Eingabe eg =newEingabe();String text ="Geben sie eine Zahl ein: ";int eingabe =Integer.parseInt(eg.getBenutzereingabe(text));
ks.ZieleErstellen(array);System.out.println(ks.prüfen(eingabe));}}
edit: hatte noch nen rückgabewert übersehen aber der code ist ganz ehrlich auch grausam. da könnte man einiges zu schreiben, was nicht gut bzw falsch ist aber ich hab jetzt keine zeit mehr
Hallo nrg,
Ich meine warum ist der Code grausam?
Ich meine was will man mit 10Stunden Programmier Erfahrung anderes erwarten^^.
Solange das Programm seine FUnktionen richtig macht(Bis auf die eingabe natürlich)
ist es ja egal wie der code geschrieben ist^^.