Code checken?

Also mal ganz kurzes Beispiel:
Java:
class Test {
    public int getNumber() {
        return 3;
    }
}
... 
class Main {
 ....
    Test testklasse = new Test();
    public testeMich() {
        int whatsTheNumber = testklasse.getNumber();
    }
}
So, un nun bekommst du aus getNumer einen Wert, und den schreibst du in whatsTheNumber. Du machst das mit deinem Namen aber ohne das in die variable zu schreiben, und der Wert der zurueckgegeben wird, geht verloren!
 
ok... ehm MiMi ich habe da atm den Error

neingabe (java.lang.string) in name cannot be applied to ()
nam = testklasse.neingabe ();


übrigens habe ich

name testklasse = new name();

noch ganz am anfang der Main-Methode geschrieben, um testklasse zu definieren

was soll ich machen

neue variante... aber das versdtehe ich nicht mehr

Java:
import java.io.*;

public class start  {

	public static void main (String[] args) 						// Die Main-Klasse
	throws IOException {
	name testklasse = new name();
	int a = 0;
	int c = 0;
	//if (c == 0) {
		String nam = "Unknown";
	//	c = c + 1;
	//}										// Beginn der While-Schleife, damit das Programm öfters ausgeführt wird
	while (a == 0) {
		
		System.out.println ("----------------");
		System.out.println ("--- Spielername:" + nam + "---");
		System.out.println ("-----<Menu>-----");						
		System.out.println ("(1) Spiel starten");
		System.out.println ("(2) Highscore anschauen");
		System.out.println ("(3) Name umbenennen");
		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) {
			name.neingabe(nam);
			nam = testklasse.neingabe(nam);
	
		} 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 name {

	public static String neingabe(String nam) 
	throws IOException {

	BufferedReader bin = new BufferedReader(new InputStreamReader(System.in));	
	int b = 0;

	while (b == 0) {

		System.out.println ("----------------");
		System.out.println("Derzeitiger Name: " + nam );
		System.out.println ("(0) Umbenennen");
		System.out.println("(1) Zurueck");
		System.out.println ("----------------");
		
		String namenn = bin.readLine();
		int ncheck = Integer.parseInt(namenn);

		if (ncheck == 0) {
			System.out.println ("----------------");
			System.out.println("Geben sie nun den neuen Namen ein!");
			System.out.println ("----------------");
			
			nam = bin.readLine();
			
						
		} else if (ncheck == 1){
			b = b + 1;

		} else {
			System.out.println ("----------------");
			System.out.println("Error bei der Auswahl");
			System.out.println ("----------------");
		}
	}
	return (nam);
	}
}

das sind die beiden relavanten codes für die option 3 "namen ändern"
einzigst unlogische ist:

wenn ich den namen ändere, dann erkennt er auch zunächst den neuen namen und startet die while-schleife der namensänderung neu......
gehe ich dann da auf "beenden", dann startet er nochmal die whileschleife, statt zurück zum "menü" zu gehen, und der Name ist dann auch wieder Unknown...

versteht ihr überhaupt mein problem?
 
Du musst schon schauen was du machst! Und net nur das so uebernehmen wie ich das geschrieben hab, und bissel nach deinen Methodennamen umaendern!

Schau dri mal deine neingabe Methode an. Die verlangt das du den alten Namen mitgibst, weil du den ja dann nochmal in dem Namenaendern menu ausgeben willst!
 
Du musst schon schauen was du machst! Und net nur das so uebernehmen wie ich das geschrieben hab, und bissel nach deinen Methodennamen umaendern!

Schau dri mal deine neingabe Methode an. Die verlangt das du den alten Namen mitgibst, weil du den ja dann nochmal in dem Namenaendern menu ausgeben willst!

was meinst du mit "verlangt"

die neingabe-methode soll den aktuellen namenausgeben. und die möglichkeit bieten diesen zu ändern, wurde dann der name geändert, gibt es einen neuen aktuellen Namen, der wieder angezeigt wird, und dann soll man die neingabe-Methode verlassen können.

Soweit funktioniert es auch, nach der Namensänderung steht bei aktueller name auch der neue, aber wenn man dann auf beenden geht, beendet er nicht, sondern lädt die neingabe-methode neu und zwar so, wie sie vor der namensänderung war, dann kann man wieder ändern oder beenden, beides möglich aber beenden funktioniert nur mit dem namen Unknown...warum auch immer
 
HALLO?
DAS WAR NEN BEISPIEL
name.neingabe(nam);
nam = testklasse.neingabe(nam);

Das ist echt unsinn was du machst, du musst schon bissel ueberlegen. Was denkst du was der macht? Der ruft die Methode nun 2 mal auf! D.h. er kommt auch 2 mal da rein
 
HALLO?
DAS WAR NEN BEISPIEL
name.neingabe(nam);
nam = testklasse.neingabe(nam);

Das ist echt unsinn was du machst, du musst schon bissel ueberlegen. Was denkst du was der macht? Der ruft die Methode nun 2 mal auf! D.h. er kommt auch 2 mal da rein


jo hallo!

sorry wegen der dummen frage, habe da atm net ganz aufgepasst, soll heißen ich dachte dass nam = testklasse.neingabe(nam); nur ausließt, aber nicht die methode startet, jetzt weiß ich dass es auslesen+methodenstart ist!

es funktioniert alles so wie es soll!! vielen dank MiMi

und sorry...ich will euch weder nerven noch an den rand der verzweiflung treiben!
 

Neue Beiträge

Zurück