Code checken?

@ichebem
Denk bitte an die Netiquette, vorallem an die Gross und Kleinschreibung. (Ich muss mich auch dran halten, also du bitte auch)
Ich kann echt teilweise deine Fragen net mal verstehen. Du solltest schon deutlich zeigen wo dein Problem liegt, den code zeigen und auch die komplette Fehlermeldung posten.

Edit:
Du sagst der Methoden wohl das du nen int zurueckgibst, aber dein returnwert ist nen long. Also sagst du der Methode entweder das du nen long zurueckgibst, oder castest es nach int und gibst es dann zurueck!

Sorry wegen der Nettiquette!

Ja das Problem hast du richtig erkannt.

Java:
import java.io.*;

public class start  {

	public static void main (String[] args) 						// Die Main-Klasse
	throws IOException {
	
	int a = 0;										// Beginn der While-Schleife, damit das Programm öfters ausgeführt wird
	while (a == 0) {
		
		System.out.println ("----------------");
		System.out.println ("-----<Menu>-----");						
		System.out.println ("(1) Spiel starten");
		System.out.println ("(2) Highscore anschauen");
		System.out.println ("(3) Error beim laden des Objekts");
		System.out.println ("(4) Programm beenden");
		System.out.println ("----------------");
	
		BufferedReader bin = new BufferedReader(new InputStreamReader(System.in));	// Die Menüauswahl
		String menuwahl = bin.readLine();
		int menuewahl = Integer.parseInt(menuwahl);

		if (menuewahl == 1) {								// Ausführung der zuvor gewählten Menüpunkte
		spiel.Levelw();									// teils in anderen Klassen / Methoden

		} else if (menuewahl == 2) {

		} else if (menuewahl == 3) {

		} else if (menuewahl == 4) {
			System.out.println ("----------------");				// beenden der while-schleife durch änderung der variablen " a "
			System.out.println("(0) Zurueck");
			System.out.println("(1) Beenden");
			System.out.println ("----------------");

			String ab = bin.readLine();
			a = Integer.parseInt(ab);

		} else {
			System.out.println ("----------------");
			System.out.println ("Error bei der Eingabe, Bitte neu wählen.");     	// Fehlermeldung bei unbekannter/falscher Eingabe
			System.out.println ("----------------");
		}
	
	}
	}
}
Java:
import java.io.*;

public class spiel {

	public static void Levelw() 
	throws IOException {
		System.out.println ("----------------");
		System.out.println("Bitte suchen sie ein Level aus (1-3)");    						// Levelauswahl
		System.out.println ("----------------");

		BufferedReader bin = new BufferedReader(new InputStreamReader(System.in));
		String level = bin.readLine();
		int levelw = Integer.parseInt(level);

		if (levelw == 1) {
			System.out.println ("----------------");
			System.out.println("Level 1, tippen sie einfach die Zahlenreihe schnellstmoeglich ab!");
										// Level 1, festlegung des Multiplikators
			int multiplikator = 1000;									// und starten der eigentlichen Spiel Methode
			code.coden(multiplikator);

			long check = code.coden (zwzeit);

			//System.out.println (zwzeit);

		}else if (levelw == 2) {
			System.out.println ("----------------");
			System.out.println("Level 2, tippen sie einfach die Zahlenreihe schnellstmoeglich ab!"); 
			int multiplikator = 10000;

		}else if (levelw == 3) {
			System.out.println ("----------------");
			System.out.println("Level 3, tippen sie einfach die Zahlenreihe schnellstmoeglich ab!");
			int multiplikator = 100000;

		}else {
			System.out.println ("----------------");
			System.out.println("Error bei der Levelwahl");
			System.out.println ("----------------");
		}
	}
}
Java:
import java.io.*;

public class code {

	public static int coden(int multiplikator) 
	throws IOException {
		
		BufferedReader bin = new BufferedReader(new InputStreamReader(System.in));	// Die Menüauswahl
		String menuwahl = bin.readLine();

		System.out.println("Wirklich bereit?(Zum Start beliebige Taste)");
		String unwchtig = bin.readLine();

		int zahl= (int) (Math.random() * multiplikator);
		System.out.println( zahl );

		long zeit1 = System.currentTimeMillis();

		String eingabe = bin.readLine();
		int einzahl = Integer.parseInt(eingabe);
			
		long zeit2 = System.currentTimeMillis();

		long zwzeit = zeit2-zeit1;
		long zeit = zwzeit/1000 ;

		if (einzahl == zahl) {
			System.out.println("Richtig! Deine Zeit war: " + zeit + " Sekunde(n)! //oder// " +zwzeit + "  Milisekunden!");
			if (zeit <= 1) {
				System.out.println("Sehr gut");
			} else if (zeit <= 3) {
				System.out.println("Auch gut");
			} else if (zeit <= 7) {
				System.out.println("Naja, gerade erst aufgestanden?");
			} else if (zeit <= 11) {
				System.out.println("jaja, Brille vergessen stimmts?");
			} else {
				System.out.println("Sind sie in der ersten Klasse?");
			}
			System.out.println("Super! Neues Spiel!");	
		} else {
			System.out.println("Falsch! Neuer Versuch!");
		}
		return (zwzeit);
	
	}
    
}

So sieht der Code atm aus.
public static int coden(int multiplikator) ist die Methode. Sage ich dadurch, dass ich
int benutze, dass der Returnwert auch als int zurückkommt? Ich wüsste nämlich nicht wo ich das mache.
Nach der Umwandlung von long to int... oder wie du es nennst nach dem "casten" suche ich gerade in nem Buch, da habe ich aber bis jetzt nur String und Int gefunden.

mfg
 
Richtig
public double methodenname()
return neDoubleVariable

public intmethodenname()
return neIntVariable

etc

Du musst ja auch net nur in Buechern suchen, du kannst auch ne Suchmaschine anstrengen.
 
Genau das was ich und dann noch MiMi dir gesagt haben.
Mach mal
Code:
public static int coden(int multiplikator) {

(Bitte das nächste mal NUR den relevanten Code)
 
Klar, es ist beides helfen bei Problemen. Aber es ist ein Unterschied, jemandem Programmieren bei zu bringen oder jemandem mal gerade bei einem Problem zu helfen, ist schon ein Unterschied.
Mein Post war auch nicht nur auf diesen Thread bezogen, ich hab dir ja schon mal in einem anderen Thread was dazu gesagt. Wenn man alles von dir zusammen nimmt, ist es nicht nur ein Problem lösen, sondern wirklich dir das Programmieren beibringen.

Bei gewissenhaften Durcharbeiten, schaffst du die Seiten für die Grundlagen in einem Tag. Danach musst du solche Fragen auch nicht mehr stellen.

MFG

zEriX

wenn das so ist, dann mache ich wirklich was falsch..... und in dem mir zur Hand gegeben Buch steht im Kapitel Grundlagen so ziemlich gar nichts, das habe ich durchgearbeitet. Und in Galileo oder ähnlichen onlineHilfen steht meiner Meinung nach mehr als man schaffen kann.
Natürlich hast du Recht, dass er hier wohl auch in großen Teilen ums beibringen geht, aber das ist meiner Meinung nach eben auch helfen!

Bevor ich es vergesse:
Nen riesengroßes Dank mit ner Tafel schokolade an:
zErix
Matze
Meinereiner

und nen Blumenstraus an die Frauenpower
MiMi

Danke euch allen! Für eure Hilfe und konstruktive Kritik...
und jetzt gehts weiter mit meinen Problemen mit Java....

Genau das was ich und dann noch MiMi dir gesagt haben.
Mach mal
Code:
public static int coden(int multiplikator) {

(Bitte das nächste mal NUR den relevanten Code)

Aber genau das habe ich doch bereits gemacht! Und kriege beim Return dann immer den Fehler, dass ich ne long zurückgeben will, was nicht geht. Und wie ich ne long zu int umwandle, das suche ich gerade noch... bzw. könntet ihr mir evtl dabei helfen?
 
Ich wollte dir eigentlich zeigen, dass da der Fehler ist. Erstze das erste int doch mal durch ein long ...
 
Wie Matze schon sagt, ändere doch einfach den RÜckgabetyp auf long.

Google könnte dir aber auch helfen. Ist ganz einfach zu nutzen. Einfach mal "cast java" eingeben und schon findet man ne Menge beispiele wie man bei Java casten kann.

Oder auch mal bei "Java ist auch eine Insel" ins Stichwort-Verzeichnis gehen und auf Cast, casten klicken. Da wird dir auch gezeigt, wie es gemacht wird.

Das ist genau das was ich meine.


MFG

zEriX
 
Zuletzt bearbeitet:
Wie gesagt entweder castest du das long zum int wenn du nen int zurueckgeben willst
Java:
public static int coden(int multiplikator) {
und casten von long nach int geht einfahc mit
Java:
int zahl = (int) longVariable;

Oder du aenderst wie schon 3 ma gesagt den Rueckgabewert

public static int coden(int multiplikator) {
Das was hier dickgedruckt ist, ist der Rueckgabewert, den willst du nach long aendern, was musst du also machen?
 
Wie Matze schon sagt, ändere doch einfach den RÜckgabetyp auf long.

Google könnte dir aber auch helfen. Ist ganz einfach zu nutzen. Einfach mal "cast java" eingeben und schon findet man ne Menge beispiele wie man bei Java casten kann.

Oder auch mal bei "Java ist auch eine Insel" ins Stichwort-Verzeichnis gehen und auf Cast, casten klicken. Da wird dir auch gezeigt, wie es gemacht wird.

Das ist genau das was ich meine. Das ganze hätte vielleicht 10 Minuten gedauert (selbststudium), stattdessen werden hier unzählige Posts geschrieben.

MFG

zEriX

Damit wäre dann klar, dass das Buch "java von Kopf bis Fuß" bescheuert ist.
Da heißt das nämlich nicht casten sondern Umwandeln, bzw parsen, und wenn man danach googlet findet man nichts! In Java ist auch eine Insel sind auch nur Fachbegriffe a la "Casten" wobei mir jetzt erst klar ist was der heißt!

Zum umwandeln also Casten...vielen Dank,

und das mit dem RückgabeTyp hatte ich falsch verstanden matze, bzw..... habe ich mich da ein bisschen verpeilt angestellt! Ich probiers nun mal eben kurz aus und gebe euch dann Rückmeldung!

p.s.: Ihr habt aber wirklich nichts zu tun außer mir zu helfen, und ich find das Klasse ^^

Juhu!!

Es klappt! War bei eurer Hilfe ja auch nicht anders zu erwarten. Ich wer nun erstmal versuchen die "Highscore-Funktion" einzubauen. Und das so weit es geht ohne eure Hilfe!

bis denne vielen Dank!

und ich brauche euch eh bald wieder ;);););)
 
Zurück