私はmastermindというゲームを複製する基本的なプログラムを試しています。今まで4つのデータポイントと4つのユーザー入力を整数として取得できましたが、4つのデータポイントと4つのユーザー入力を比較するのに問題があります。目標は4つのrng(1から9の範囲)があり、ユーザーは一度に4つの数字を推測することです。彼が与えられた唯一のヒントは、一つの数字が正しいということです。今まで私は4つの変数、ex(a = rng1、b = rng2、c = rng3、d = rng4)とユーザー入力を同様に比較するように設定された非効率なコードを作ることができました。どのようにして効率的にユーザー入力を生成したすべてのrngに比較するのですか?このインスタンスでは、s1とpoopを比較できます。 poop2; poop3;とpoop4。私はそれをするために別の100行のコードを書くつもりはありません。前もって感謝します。コードは以下のとおりです。一度に複数の変数にユーザー入力をどのように比較するのですか?
import java.util.*;
public class RandomNumberGenerator{;
private static Scanner in;
public static void main(String[] args){
Random r = new Random();
float s;
in = new Scanner(System.in);
int poop = (r.nextInt(10-1)+1);
int poop1 = (r.nextInt(10-1)+1);
int poop2 = (r.nextInt(10-1)+1);
int poop3 = (r.nextInt(10-1)+1);
for (int i = 0; i < 80; i++)
{
System.out.println("Enter a number from 1-9");
s = in.nextFloat();
float s1 = in.nextFloat();
float s2 = in.nextFloat();
float s3 = in.nextFloat();
if(poop == s && poop1 == s1 && poop2 == s2 && poop3 == s3) {
System.out.println("You are correct HeHe XD");
break;
}
if(poop > s && poop1 == s1 && poop2 == s2 && poop3 == s3){
System.out.println("You have 1 wrong");
}
if(poop < s && poop1 == s1 && poop2 == s2 && poop3 == s3){
System.out.println("You have 1 wrong");
}
if(poop > s && poop1 == s1 && poop2 == s2 && poop3 == s3){
System.out.println("You have 1 wrong");
}
if(poop == s && poop1 > s1 && poop2 == s2 && poop3 == s3){
System.out.println("You have 1 wrong");
}
if(poop == s && poop1 < s1 && poop2 == s2 && poop3 == s3){
System.out.println("You have 1 wrong");
}
if(poop == s && poop1 == s1 && poop2 > s2 && poop3 == s3){
System.out.println("You have 1 wrong");
}
if(poop == s && poop1 == s1 && poop2 < s2 && poop3 == s3){
System.out.println("You have 1 wrong");
}
if(poop == s && poop1 == s1 && poop2 == s2 && poop3 > s3){
System.out.println("You have 1 wrong");
}
if(poop == s && poop1 == s1 && poop2 == s2 && poop3 < s3){
System.out.println("You have 1 wrong");
}
if(poop != s && poop1 != s1 && poop2 == s2 && poop3 == s3){
System.out.println("You have 2 wrong");
}
if(poop != s && poop1 == s1 && poop2 != s2 && poop3 == s3){
System.out.println("You have 2 wrong");
}
if(poop != s && poop1 == s1 && poop2 == s2 && poop3 != s3){
System.out.println("You have 2 wrong");
}
if(poop == s && poop1 != s1 && poop2 != s2 && poop3 == s3){
System.out.println("You have 2 wrong");
}
if(poop == s && poop1 != s1 && poop2 == s2 && poop3 != s3){
System.out.println("You have 2 wrong");
}
if(poop == s && poop1 != s1 && poop2 != s2 && poop3 != s3){
System.out.println("You have 3 wrong");
}
if(poop != s && poop1 == s1 && poop2 != s2 && poop3 != s3){
System.out.println("You have 3 wrong");
}
if(poop != s && poop1 != s1 && poop2 == s2 && poop3 != s3){
System.out.println("You have 3 wrong");
}
if(poop != s && poop1 != s1 && poop2 != s2 && poop3 == s3){
System.out.println("You have 3 wrong");
}
if(poop != s && poop1 == s1 && poop2 != s2 && poop3 != s3){
System.out.println("You have 3 wrong");
}
if(poop != s && poop1 != s1 && poop2 != s2 && poop3 != s3){
System.out.println("You have 4 wrong");
}
}
}
}
コードが動作していることでしょうか? – emotionlessbananas
** tip ** 'int'と' float'の比較を避けてください – emotionlessbananas
@AsteriskNinjaはいコードは動作します –