Code checken?

ichebem

Mitglied
Ich hätte die bitte, dass sich einer mal den code unten anguckt... und mir sagt warum das nicht so klappt wie es soll.. wäre sehr nett

Java:
import java.io.*;

public class start  {

	public static void main (String[] args) 
	throws IOException {
	
	int a = 0;
	while (a == 0) {

		System.out.println ("Bitte aussuchen");
		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");
	
		BufferedReader bin = new BufferedReader(new InputStreamReader(System.in));
		String menuwahl = bin.readLine();
		int menuewahl = Integer.parseInt(menuwahl);

		if (menuewahl == 1) {
		spiel.Levelw();

		} else if (menuewahl == 2) {

		} else if (menuewahl == 3) {

		} else if (menuewahl == 4) {
			System.out.println("(0) Zurueck");
			System.out.println("(1) Beenden");

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

		} else {
			System.out.println ("Error bei der Eingabe, Bitte neu wählen.");
		}
	}
	}
}

Java:
import java.io.*;

public class spiel {

	public static void Levelw() 
	throws IOException {
		System.out.println("Bitte Wählen sie ein Level (1-3)");

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

		if (levelw == 1) {
			System.out.println("Level 1, tippen sie einfach die Zahlenreihe schnellstmöglich ab!");
			int multiplikator = 1000;
			code.coden(multiplikator);

		}else if (levelw == 2) {
			System.out.println("Level 2, tippen sie einfach die Zahlenreihe schnellstmöglich ab!");
			int multiplikator = 10000;
		}else if (levelw == 3) {
			System.out.println("Level 3, tippen sie einfach die Zahlenreihe schnellstmöglich ab!");
			int multiplikator = 100000;
		}else {
			System.out.println("Error bei der Levelwahl");
		}
	}

}

Java:
import java.io.*;

public class code {

	public static void coden(multiplikator) 
	throws IOException {

	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("Fuer neues Spiel druecke 'F8'.");	
	} else {
		System.out.println("Falsch! Für neuen Versuch druecke 'F8'. ");
	}
	
	}
}

die Fehlermeldungen die ich nicht verstehe:

cannot find symbol....cannot find symbol und nochmal cannot find symbol

String eingabe = bin.readline;
String unwchtig = bin.readline;
int zahl= (int) (math.random() * multiplikator);

und noch

"in code cannot be applied to (int)"
<-- schon klar was das heißt, aber wie soll ich dann den wert übergeben?
 
Moin!
1. Was ist den "bin" in der Klasse code? Hast du nirgends definiert...
2. Was ist denn "multiplikator" für ein Typ? Solltest du vielleicht in die Methodensignatur der Methode coden schreiben..

*grüssle*
MeinerEiner
 
Moin!
1. Was ist den "bin" in der Klasse code? Hast du nirgends definiert...
2. Was ist denn "multiplikator" für ein Typ? Solltest du vielleicht in die Methodensignatur der Methode coden schreiben..

*grüssle*
MeinerEiner

hu erstmal vielen dank für die antwort... ja das mit bin war ein dummer fehler... was meinst du mit methodensignatur

mfg
 
Methodensignatur ist das Gleiche, dass ich dir am Freitag beschreiben habe: Methodenname + Rückgabewert + Übergabeparameter

Methodenname <- Is wohl klar
Rückgabewert <- Welchen Typ der Wert entspricht, den die Methode zurück gibt
Übergabeparameter <- Welche Werte (und ob überhaupt) der MEthode mitgegeben werden
 
ja was du mir gesagt hast, das weiß ioch ja noch ^^

aber ich dachte ich kann in dem ich zum,b beispiel

klasse.methode(variable);

so ne methode starten und die variable sowieso übergeben aber das geht i-wie net, daher wie muss ich es machen?

wäre nett wenn mir einer nen bsp-code zeigen könnte
 
Code:
public int addNumbers(int _iZahl1, int _iZahl2){
  int iErgebniss = 0;
  iErgebniss = _iZahl1 + _iZahl2;
  return(iErgebniss);
}

Diese Methode addiert dir die zwei übergebenen Zahlen und liefert ein Ergebniss in int zurück.
 
Aufrufen geht dann so:

Code:
int iAddedNumbers = 0;
iAddedNumbers = objekt.addNumbers(5, 3);

//oder wenn addNumbers statis ist:
iAddedNumbers = <Klasse>.addNumbers(5, 3);

Der Methode werden hier die Zahlen 5 und 3 übergeben. In der Methode werden diese addiert und als Rückgabewert der Variable iAddedNumbers zugewiesen.

@Meiner Einer_80
^^ an selbiges hab ich ihn Freitag auch verwiesen...
 
ehm.... ich kapiers gerade net so ganz......

also

public static int coden(multiplikator) heißt die methode

die rufe ich auf durch

code.coden(multiplikator);

nachher kann ich dann Sachen wieder auslesen,,, das auslesen habe ich verstanden... frage ist wie geht denn das einlesen.... so wie ich atm mache nämlich net...
 

Neue Beiträge

Zurück