2016-05-25 12 views
-4

ここで私は新しいですし、一般的にはユーザーが文字を入力してコンピュータと対戦するロックペーパーはさみゲームに取り組んでいますが、入力が無視され、ゲームが再開しますそれが果たした時間私は無数の時間を費やして、なぜこのようなことが起きたのか考え出しました。コードはこちらJavaは入力を無視する場合があります

+0

['Random :: nextInt(int bound)'](http://docs.oracle.com/javase/8/docs/api/java/util/Random.html#nextInt-int-) '[1、bound]'ではなく、 '[0、bound]'の範囲の値を返します。あなたは不可能な値( '3')をチェックする条件があるが、' 0'はチェックしない。 – azurefrog

答えて

0

何かのように...。基本的には、コンピュータが0を生成するときには、入力が常に無視されます。ifの条件は真ではないからです。問題を解決し、1からnまでの数字を生成するには、.nextInt(n) + 1を使用してください。

+0

シンプルにしてくれてありがとう – Bob

1

else文を追加し、inputとcomputerの値を出力します。あなたは、あなたが扱っていない組み合わせを知っているでしょう。メソッド.nextInt(n)はに0を含むと(あなたのケース2から0で)nを除くとから整数を生成

}else if(input == 3 && computer == 3){ 
      report(computer,"tie with the computer"); 
else { 
    System.out.println("input: " + input + "computer: " + computer); 
} 
関連する問題