Deadcode

K

Killit

Gast
habe weiter oben im code
Java:
public ArrayList<Chatroom> roomlist;
angelegt, bei
der for-Schleife bei i++ warnt er mich wegen deathcode. Kann mir jemand helfen warum?

Java:
public Chatroom findChatroom ( String chatroomname){
		for(int i = 0; i < roomlist.size(); i++){
			if(roomlist.get(i).getroomname().equals(chatroomname));
			return roomlist.get(i);
		}
		System.out.println("Chatroom exestiert nicht");
		return null;
		
	}
 

XHelp

Top Contributor
Weil es nie zum
Code:
i++
kommt. Wenn er in die Schleife springt, dann beendest du mit "return" weitere ausführung der Methode.
Es könnte nicht zuletzt daran liegen, dass deine if-Abfrage falsch ist, es sollte vielmehr:
Java:
if(roomlist.get(i).getroomname().equals(chatroomname)) {
  return roolist.get(i);
}
sein.
 
T

Tomate_Salat

Gast
es reicht, wenn du das [c];[/c] an der Stelle hier entfernst:
[java=3]
if(roomlist.get(i).getroomname().equals(chatroomname)); //<--- dieses hier
[/code]
 
T

Tomate_Salat

Gast
Solange man es nicht übertreibt, finde ich es leserlicher ... zumindest solange kein Konstrukt wie folgt rauskommt:

Java:
for(int i=0;i<10;i++)
   if(sample.checkIndex(i))
          return;

Aber natürlich spricht nix dagegen, diese {} zu setzen.

Sagte der Mensch mit dem Link auf die Conventions in der Signatur :joke:
Mir gehts mit dem Link mehr um die Benamungen. Ob das weg lassen der Klammern gegen die konventionen wären oder nicht weis ich nicht. Aber in meinem Code fließen eh Betriebskonventionen ein, die mir dann doch wichtiger sind ;-)
 

XHelp

Top Contributor
Solange man es nicht übertreibt, finde ich es leserlicher
Ja, aber am Anfang gibt es kein "leserlich" oder "unleserlich". Es gibt nur "aber so habe ich es am Anfang gelernt". Das ist der eigentliche Punkt auf den ich hinaus wollte. Wenn man später die Syntax gut kennt, kann man anfangen solche Entscheidungen zu treffen. Aber das ist eben nur meine Meinung, die nur eine von vielen ist.
Ob das weg lassen der Klammern gegen die konventionen wären oder nicht weis ich nicht.

Nur der Vollständigkeit halber:
CC 7.4 hat gesagt.:
Note: if statements always use braces {}. Avoid the following error-prone form:
if (

condition) //AVOID! THIS OMITS THE BRACES {}!


statement;
 

Dekker

Bekanntes Mitglied
Sowas hab ich mal mit ner whileschleife geschaft.

Java:
while(blubb);{
      dwim(x);
}

Hat mich damals 2 Stunden gekostet rauszufinden warum er alles nach der Schleife als unreachable code bezeichnete ^^
 

faetzminator

Gesperrter Benutzer
Sowas hab ich mal mit ner whileschleife geschaft.

Java:
while(blubb);{
      dwim(x);
}

Hat mich damals 2 Stunden gekostet rauszufinden warum er alles nach der Schleife als unreachable code bezeichnete ^^

Wenn man den Formatter "richtig" einstellt, kann das einem eigentlich nicht passieren.
Aus [c]while(true) { foo(); }[/c] wird bei mir
Java:
while (true) {
    foo();
}
und aus [c]while(true); { foo(); }[/c] wird
Java:
while (true)
    ;
{
    foo();
}
 

Landei

Top Contributor
Ich finde Semikolons sowieso doof, sie bringen mehr Probleme als sie lösen. Und die Zeiten, als man Parsern "helfen" musste, weil sie nicht zu komplex werden sollten/konnten, sind ja wohl vorbei. Deshalb sollten Semikolons optional sein, weil in 99% der Fälle glasklar ist, wo sie hinkommen müssen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
A Deadcode Warnung? Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben