if Kombination

Status
Nicht offen für weitere Antworten.

achimstud

Mitglied
Hi,

Komme nicht weiter..ich will eine Bestimmte Kombination eingeben können..also wenn der Erste Schritt getan wurde hier die 7 eingeben, dann soll der Hintergrund grün sein,und wenn ich dann die 5 eingebe soll der Hintergrund auch grün bleiben, genauso mit der 3,
wird eine andere Zahl eingegeben er scheint der Hintergr. Rot?
bei mir ist es aber nun so, das ich bei allen zahlen erhalte, nur die 3 ergibt grün?das vestehe ich nicht???..wieso denn , ..wo liegen meine Fehler, oder vielleicht gibt es noch eine einfachere Lösung dafür ??



Komme nicht weiter?

Danke..

Code:
	public void actionPerformed( ActionEvent evt) {
					// 7-3-5- ist richtige Kombination
				
				boolean state1 =false;
				boolean state2 =false;
				boolean state3 =false;
				
	if (Integer.parseInt(evt.getActionCommand())==7) { 
					
					
					setBackground(Color.green);
					state1 =true;
				}
					else {
						    state1 =false;
						    
					     }
				
	if (state1 =true &&Integer.parseInt(evt.getActionCommand())==5){
					
						state2 =true;
					setBackground(Color.green);
				}
				    else {
				        	state2 =false;
				         }
					
	if (state2 =true&&Integer.parseInt(evt.getActionCommand())==3){
					
						state3 =true;
					    setBackground(Color.green);
				}
				    else 
				    { 
				      setBackground(Color.red);
				    }
			
			 
					
				
					
					repaint();
    
	       
}
 

DP

Top Contributor
versuchs mal mit

Code:
    switch(new Integer(evt.getActionCommand()).intValue())
    {
      case 3:
        state1 = true;
        break;
      case 5:
        state2 = true;
        break;
      case 7:
        state3 = true;
        if(state1 && state2 && state3)
        {
          setBackground(Color.green);
        }
        break;
      default:
        setBackground(Color.red);
      
    }

grüße
 

citizen_erased

Bekanntes Mitglied
boolsche variablen nicht
Code:
if (state1=true) {..}
prüfen (das ist eine zuweisung und kein vergleich), sondern
Code:
if (state1==true) {..}
oder noch besser
Code:
if (state1) {..}

ich schätze, wenn du auf eine reihenfolge bestehst, musst du bei der falscheeingabe der zweiten zahl, auch zustand 1 wieder auf false setzen, damit der benutzer wieder von vorne anfangen muss.
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben