2016-05-18 2 views
0

私は、ユーザーが自分のロールの一部を保持してから他のロールを再作成できるようにしたいと思っています。私は最初の5つのロールをdieArrayという配列に格納し、この配列の内容を印刷します。それぞれの番号は番号が付けられています。Java内のループ内の変数をインクリメントする

アイデアは、私がkeepArrayと呼んだ新しい配列に保存することを選択したダイの値を追加することでした。

while(bool != false){ 
     System.out.print("Would you like to keep a die? y/n: "); 
     char ch = scanner.next().charAt(0); 


     if(ch == 'n') { 
      System.out.println("Exiting----------------------------------------------"); 
      bool = false; 
     } 
     else{ 
      System.out.print("Which die number would you like to keep?: "); 
      int keep = scanner.nextInt(); 
      int i = 0; 
      keepArray[i] = die.dieArray[keep]; 
      i++; 
      System.out.println("i value is " + i); 
     } 
    } 

私が午前問題はelse文の中に私iがインクリメントされていないことであるが、以下のように、このループの

私の現在のコードがあります。 Javaでwhileループの基本を理解していないと感じています。なぜなら、elseループにアクセスするたびにそれが表示されるため、ダイを保持したい場合にユーザーが「y」と答えるたびに、私のiは1だけインクリメントされるべきです。明らかにそうではありません。

+1

'=='、 '<', '>'、 '<=', '> ='、 '!='を使って比較すると 'boolean'が返されます。たとえば、 '1!= 2'と書くことは' true'と同じです。これを念頭において、変数 'bool'が' false'の場合、 'bool!= false'は' false'を返します。 'bool'が' true'の場合、 'bool!= false'は' true'を返します。つまり、while(bool!= false)の代わりに 'while(bool)'を書くだけです。 – Gendarme

答えて

4

i変数はすべてのラウンドで再作成されています。ループの上にint i = 0;を宣言する必要があります。

+0

ありがとう、私はあなたを愛している –

+0

あなたが本当に彼を愛したなら、あなたは彼をあなたの答え – saloomi2012

関連する問題