Irgendwo fehlen Klammern ?

Status
Nicht offen für weitere Antworten.
E

edgrar_u

Gast
Hi,

es geht um ein paar sehr einfach e Fehler , aber ich suche trotzdem schon en ganzen Nachmittag mittlerweile und deswegen stell ich sie hier mal rein

die Fehlermeldungen die mir der compiler ausspuckt sind


missing return statement in Zeile 103 }
missing return statement } Zeile 117
unreachable statement in 123 /125/127/129/131/133/135

also irgendeine Klammer is noch offen , das der die Methode nicht erreicht - nur keine ahnung wo ???? :roll:
plz help

Code:
class Karte{
	byte kartennummer;
	char ziffer;
	char farbziffer;
}

class KartenStapel {
		Karte[] kartenset = new Karte[55];
		String hilfsString;
		


		KartenStapel(){
		
		int j = 0;
		for(int i= 0; i< kartenset.length;i++){
		
			// Farbe 
			if ( i < 13)
				kartenset[i].farbziffer = 'x';//"Kreuz"
			if ( i >13 && i < 28 )
				kartenset[i].farbziffer = 'p';
			if ( i >27 && i < 42)
				kartenset[i].farbziffer = 'h';
			if (i > 41 )
				kartenset[i].farbziffer = 'k';
			
			
			kartenset[i].kartennummer = (byte)(i +1);
			
			
			if (i<14){
				j = i+1;}
			if (i > 13) {
				j = i-14;}
			if (i > 27 && i < 42){
				j = i -27;}
			if ( i > 41 ) {
				j = i - 41;} 
			
			
			
			switch (j) {
		
			case 1: 
				kartenset[i].ziffer = 'a';
				break; 
			case 2: 
				kartenset[i].ziffer = 'k';
				break; 
				
			case 3:
				kartenset[i].ziffer = 'd';
				break; 
			case 4: 
				kartenset[i].ziffer = 'b';
				break; 
			case 5: 
				kartenset[i].ziffer = 'x';
				break;
			case 6:
				kartenset[i].ziffer = '9';
				break;
			case 7: 
				kartenset[i].ziffer = '8';
				break; 
			case 8: 
				kartenset[i].ziffer = '7';
				break; 
			case 9: 
				kartenset[i].ziffer = '6';
				break; 
			case 10:
				kartenset[i].ziffer = '5';
				break; 
			case 11: 
				kartenset[i].ziffer ='4';
				break; 
			case 12:
				kartenset[i].ziffer = '3';
				break; 
			case 13: 
				kartenset[i].ziffer = '2'; 
				break; 
			case 14: 
				kartenset[i].ziffer = '1'; 
				break; 
			}
			}
		}


			public String toString(){
			
			for (int i = 0; i < kartenset.length; i++){							
			String ausgabe =" ";		
			ausgabe = getFarbeString(kartenset[i].farbziffer);
			ausgabe = ausgabe + " "+ getZifferString(kartenset[i].ziffer);
			return ausgabe;
			
			}
			
			}
			
			


			String getFarbeString(char input){
				if(input == 'x'){
					return "Kreuz";}
				if (input == 'p'){ 
					return "Pik";}
				if (input == 'h'){
					return "Herz";}
				if (input == 'k'){
					return "Karo";}
			}
	

			String getZifferString(char input){
				switch (input){
					case 'a':return "Ass";
						 break;
					case 'k':return "Koenig";
						 break; 
					case 'd':return "Dame";
						 break; 
					case 'b':return "Bube";
						 break; 
					case 'x':return "10"; 
						 break; 
					 default:return hilfsString + input;
						 break; 
				}
			}


	public static void main(String[] args){
		KartenStapel pokerkarten = new KartenStapel();
		System.out.println(pokerkarten.toString());
	}
}
danke im voraus edgrar
 

André Uhres

Top Contributor
Code:
   public String toString(){
        
        for (int i = 0; i < kartenset.length; i++){
            String ausgabe =" ";
            ausgabe = getFarbeString(kartenset[i].farbziffer);
            ausgabe = ausgabe + " "+ getZifferString(kartenset[i].ziffer);
            return ausgabe;
            
        }
        return "";//<--------------------hinzufügen
    }
    
    String getFarbeString(char input){
        if(input == 'x'){
            return "Kreuz";}
        if (input == 'p'){
            return "Pik";}
        if (input == 'h'){
            return "Herz";}
        if (input == 'k'){
            return "Karo";}
        return "";//<--------------------hinzufügen
    }

    String getZifferString(char input){
        switch (input){
            case 'a':return "Ass";
//            break;---------------------------entfernen
            case 'k':return "Koenig";
//            break;---------------------------entfernen
            case 'd':return "Dame";
//            break;---------------------------entfernen
            case 'b':return "Bube";
//            break;---------------------------entfernen
            case 'x':return "10";
//            break;---------------------------entfernen
            default:return hilfsString + input;
//            break;---------------------------entfernen
        }
    }
 
E

edgrar_u

Gast
danke für die schnelle und kompentente Hilfe, ich konnte das ganze jetzt kompilieren , allerdings bekomme ich jetzt eine NullPointerException in Zeile 20 und 140

hier noch mal der Code mit Zeilen nummerierung
Code:
class Karte{
	byte kartennummer;
	char ziffer;
	char farbziffer;
}

class KartenStapel {
		Karte[] kartenset = new Karte[55];
		String hilfsString;
		


		KartenStapel(){
		
		int j = 0;
		for(int i= 0; i< kartenset.length;i++){
		
			// Farbe 
			if ( i < 13)
				kartenset[i].farbziffer = 'x';//"Kreuz"
			if ( i >13 && i < 28 )
				kartenset[i].farbziffer = 'p';
			if ( i >27 && i < 42)
				kartenset[i].farbziffer = 'h';
			if (i > 41 )
				kartenset[i].farbziffer = 'k';
			
			
			kartenset[i].kartennummer = (byte)(i +1);
			
			
			if (i<14){
				j = i+1;}
			if (i > 13) {
				j = i-14;}
			if (i > 27 && i < 42){
				j = i -27;}
			if ( i > 41 ) {
				j = i - 41;} 
			
			
			
			switch (j) {
		
			case 1: 
				kartenset[i].ziffer = 'a';
				break; 
			case 2: 
				kartenset[i].ziffer = 'k';
				break; 
				
			case 3:
				kartenset[i].ziffer = 'd';
				break; 
			case 4: 
				kartenset[i].ziffer = 'b';
				break; 
			case 5: 
				kartenset[i].ziffer = 'x';
				break;
			case 6:
				kartenset[i].ziffer = '9';
				break;
			case 7: 
				kartenset[i].ziffer = '8';
				break; 
			case 8: 
				kartenset[i].ziffer = '7';
				break; 
			case 9: 
				kartenset[i].ziffer = '6';
				break; 
			case 10:
				kartenset[i].ziffer = '5';
				break; 
			case 11: 
				kartenset[i].ziffer ='4';
				break; 
			case 12:
				kartenset[i].ziffer = '3';
				break; 
			case 13: 
				kartenset[i].ziffer = '2'; 
				break; 
			case 14: 
				kartenset[i].ziffer = '1'; 
				break; 
			}
			}
		}


			public String toString(){
			
			for (int i = 0; i < kartenset.length; i++){				

			
			String ausgabe =" ";		
			ausgabe = getFarbeString(kartenset[i].farbziffer);
			ausgabe = ausgabe + " "+ getZifferString(kartenset[i].ziffer);
			return ausgabe;
			
			}
			return " ";
			}
			
			


			String getFarbeString(char input){
				if(input == 'x'){
					return "Kreuz";}
				if (input == 'p'){ 
					return "Pik";}
				if (input == 'h'){
					return "Herz";}
				if (input == 'k'){
					return "Karo";}
				return " "; 
			}
	

			String getZifferString(char input){
				switch (input){
					case 'a':return "Ass";
						 
					case 'k':return "Koenig";
						  
					case 'd':return "Dame";
						  
					case 'b':return "Bube";
						  
					case 'x':return "10"; 
						  
					 default:return hilfsString + input;
						  
				}
			}


	public static void main(String[] args){
		KartenStapel pokerkarten = new KartenStapel();
		System.out.println(pokerkarten.toString());
	}
}
danke im voraus
 

MPW

Top Contributor
tut mir leidt, aber du musst dich mit den Zeilennummern vertan haben, Zeile 20 kann keine werfen, da sie nur auf eine Variable zugreift die zwei Zeilen drueber deklariert wurde und in 140 steht nichtmals was drin.

Kann es sein, dass sich die Nummerierung nur auf eine Klasse beziehen soll? Schau bitte nochmal nach, und vergleich, und poste dann die richtigen Nummern.
 
E

edgrar_u

Gast
tut mir leidt, aber du musst dich mit den Zeilennummern vertan haben, Zeile 20 kann keine werfen, da sie nur auf eine Variable zugreift die zwei Zeilen drueber deklariert wurde und in 140 steht nichtmals was drin.

Kann es sein, dass sich die Nummerierung nur auf eine Klasse beziehen soll? Schau bitte nochmal nach, und vergleich, und poste dann die richtigen Nummern.

also ich hab nochmal nachgeschaut :

wörtlich steht da :

exception in thread "main"....blabla nullpointerexception
at.KartenStapel.<init>(Kartenstapel.java:20)
at Kartenstapel.main(KartenStapel.java:140)


nur keine Ahnung welches Teil da nicht intitialisiert sein soll ???

Kann sich das nochmal jmd anschauen? Auf was sich die Zeilenangaben beziehen kann ich jetzt leider auch nicht mehr sagen als oben schon (mögl. hat sich das ganze verschoben durchs kopieren um eine oder zwei Zeilen?)

Danke im voraus
 
B

Beni

Gast
Du erstellst mit "Karte[] kartenset = new Karte[55];" einen neuen Array "kartenset". Leider ist der Array nicht gefüllt, da steht jetzt 55 mal "null". Bevor du also irgendwelche farbziffern setzt, musst du Instanzen von "Karte" anlegen:
Code:
for( int i = .... )
  kartenset[i] = new Karte();
 
E

edgrar_u

Gast
so vielen Dank an alle für die hilfe , mein Übungsprogramm läuft endlich und die Sache hat sich erledigt
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
J TCP MultiThreaded Server und Client - irgendwo ist der Fehler, aber ich find ihn nicht Java Basics - Anfänger-Themen 3
M Komponenten irgendwo versteckt? Java Basics - Anfänger-Themen 7
R Irgendwo ein Zeichen zu viel oder zu wenig Java Basics - Anfänger-Themen 5
E Fehler irgendwo Java Basics - Anfänger-Themen 9
Michi__ Modulepath und Classpath fehlen Java Basics - Anfänger-Themen 2
W Java in Exe Datei umgewandelt, Ressourcen fehlen (Bilder und Audiodateien) Java Basics - Anfänger-Themen 1
puba Twitter4j fehlen beim Compilieren Libs Java Basics - Anfänger-Themen 5
B Compiler-Fehler Packages fehlen? Java Basics - Anfänger-Themen 5
O Erste Schritte Runnable Jar <- Ordner Fehlen Java Basics - Anfänger-Themen 6
B Importe fehlen in Eclipse Java Basics - Anfänger-Themen 7
D Fehlen einer Referenz auf Objekt Java Basics - Anfänger-Themen 14
Luk10 Wo zum Teufel fehlen Hier Klammern? Java Basics - Anfänger-Themen 2
MEETyA Zeilenumbrüche fehlen nach BufferedReader Java Basics - Anfänger-Themen 3
S Alle Projekte fehlen bei Eclipse ??? Java Basics - Anfänger-Themen 3
G Seperatoren fehlen im Pfad Java Basics - Anfänger-Themen 2
S Slashes im Pfad fehlen Java Basics - Anfänger-Themen 12
L Java Bibliothek scheint zu fehlen Java Basics - Anfänger-Themen 4
T Aufruft Methode, welche Parameter fehlen? Java Basics - Anfänger-Themen 4
O Java Kara geschweifte Klammern Java Basics - Anfänger-Themen 2
M Klasse in Runden Klammern bei Objektimplementierung Java Basics - Anfänger-Themen 4
J Eckige Klammern werden nicht erkannt Java Basics - Anfänger-Themen 1
J Klammern werden fälschlicherweise eingelesen Java Basics - Anfänger-Themen 2
T split innerhalb Klammern ignorieren? Java Basics - Anfänger-Themen 6
S Java Text splitten mit Tabs, Zeilen, Zeichen und Klammern. Java Basics - Anfänger-Themen 6
D Werte in eckige Klammern finden Java Basics - Anfänger-Themen 3
D Compiler-Fehler kurze Frage (Fehler): runde Klammern im Println Java Basics - Anfänger-Themen 3
B Java - Reguläre Ausdrücke - RegEx oder Regular Expressions - Eckige Klammern Java Basics - Anfänger-Themen 2
F while Schleife ohne Klammern Java Basics - Anfänger-Themen 9
N enum vergleiche Klammern? Java Basics - Anfänger-Themen 5
K Erste Schritte Geschweifte Klammern Java Basics - Anfänger-Themen 12
H Nur Zahlen, Klammern und Operatoren Java Basics - Anfänger-Themen 3
R alleinstehende geschweifte Klammern Java Basics - Anfänger-Themen 5
H Wohlgeformte Klammern Java Basics - Anfänger-Themen 26
M keine geschwungenen Klammern Java Basics - Anfänger-Themen 9
B Text zwischen geschweiften klammern Java Basics - Anfänger-Themen 11
B bestimmte klammern im string ersetzten Java Basics - Anfänger-Themen 17
B Klammern im String Java Basics - Anfänger-Themen 9
T Syntax für .split mit Klammern Java Basics - Anfänger-Themen 2
E Regex für geschweifte Klammern? Java Basics - Anfänger-Themen 10
StrikeTom Per regex string zwischen klammern raussuchen Java Basics - Anfänger-Themen 14
K println - Klammern von Operationen Java Basics - Anfänger-Themen 4
W Suche nach strings zwischen eckigen Klammern mittels regulärer Ausdrücke Java Basics - Anfänger-Themen 3
D Klammern in regulären Ausdrücken Java Basics - Anfänger-Themen 2
C Klammern einlesen!!! Falsche Ausgabe!!!! Java Basics - Anfänger-Themen 4
Developer_X Problem mit Klammern im Code Java Basics - Anfänger-Themen 17
Daniel_L Geschweifte Klammern nutzen oder nicht? Java Basics - Anfänger-Themen 3
M Wie ersetzt man einen String mit eckigen Klammern Java Basics - Anfänger-Themen 5
B Was steht innerhalb von solchen <.> Klammern Java Basics - Anfänger-Themen 2
H Klammern bei replaceAll-Methode Java Basics - Anfänger-Themen 3
W Problem mit Programm (geschweifte Klammern setzen) Java Basics - Anfänger-Themen 11
E Klammern in einem String entfernen! Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben