2012-03-14 154 views
-3

我目前工作的一個隨機數猜謎遊戲,我想的邏輯是這樣的:如何拒絕一個答案,如果前面的答案和目前的答案是等於

,如果我回答了,例如,一個正確的回答「12」,如果我輸入12(前一個答案),我該如何讓程序拒絕答案?

這裏就是我所做的代碼:

public void cmpans() 
    { 
     Object arr[]=set.toArray(); 
     boolean success=false; 
     boolean boo=false; 
     String txget; 
     txget=gametext.getText(); 
     String pars; 
     int ans; 
     pars=gametext.getText(); 
     ans=Integer.parseInt(pars); 

     int cans[]=new int[10]; 

     for(int i=0; i<10; i++) 
     { 

      if(ans==arr[i]) 
      { 
       ck[i].setSelected(true); 
       gametext.setText(""); 
       lblives.setText("life: "+life); 
       lbcons.setText("cons: "+cons); 
       userscore=userscore+10; 
       lbscore.setText("Score: "+userscore); 
       success=true; 
      } 
      else 
      { 
       boo=true; 
       gametext.setText(""); 
       gametext.requestFocus(true); 
      } 
      arr[i]=null; 
     } 

     gametext.setText(""); 
     gametext.requestFocus(true); 
     if(success==true) 
     { 
      cons++; 
      if(cons==3) 
      { 
       userscore=userscore+20; 
       lbscore.setText("Score: "+userscore); 
       lbachieve.setText("You're a GOOD GUESSER!"); 
       lbcons.setText("cons: "+cons); 
      } 
      else if(cons==5) 
      { 
       userscore=userscore+50;  
       lbscore.setText("Score: "+userscore); 
       lbachieve.setText("You're an AMAZING GUESSER!!"); 
       lbcons.setText("cons: "+cons); 
      } 
     } 
     else if(boo==true) 
     { 
      cons=0; 
      life--; 
      lblives.setText("life: "+life); 
      lbcons.setText("cons: "+cons); 
     } 

    } 

預先感謝所有誰就會幫助!

+0

提供您當前正在使用或嘗試使用的代碼總是一個好主意 – csturtz 2012-03-14 15:49:22

回答

2

使用HashSet,通過添加元素add,檢查提供的答案是否在其中,並檢查結果是否爲真。

有關Java集合的更多信息,請查看cheat sheet

+1

如果元素已經存在於集合中,那麼使用'Set'會更有意義,因爲'add'將返回'false' 。 – Moonbeam 2012-03-14 16:00:46

+1

非常真實,我在閱讀你的答案時更新了使用hashset的答案:-P。 – Sirs 2012-03-14 16:02:54