ユーザーが5つの数字を入力し、最終的に数字が印刷されるプログラムを実行していますが、これは正常に機能しています。私がうまくいかないのは、重複をチェックするブール関数です。ユーザーが書き込んだときに重複をチェックする必要があるため、たとえば、1 番目の番号が 5 で 2 番目の番号も 5 の場合、別の番号を書き込むまでエラーが発生するはずです。つまり、ユーザーが重複を入力した場合、それは配列に保存されるべきではありません。これは明らかに課題なので、1 つまたは 2 つのヒントを求めているだけです。
このプログラムは、与えられた疑似コードに基づいて作成されているため、ブール値を使用してpublic boolean duplicate( int number )
クラスとの重複をチェックする必要があります。
私はそれについて頭を悩ませ、自分で何かを試してみましたが、明らかに愚かな間違いをしています. 例えば:
if(int i != myNumbers[i])
checkDuplicates = false
else
checkDuplicates = true;
return checkDuplicates;
DuplicatesTest クラス:
public class DuplicatesTest {
public final static int AMOUNT = 5;
public static void main(String[] args) {
Duplicates d = new Duplicates(AMOUNT);
d.inputNumber();
d.duplicate(AMOUNT);
d.printInputNumbers();
}
}
重複クラス:
public class Duplicates {
private int amount;
private int[] myNumbers;
private boolean checkDuplicates;
public Duplicates(int a) {
amount = a;
myNumbers = new int[amount];
}
public void inputNumber() {
for(int i = 0; i < amount; i++ ) {
int input = Integer.parseInt(JOptionPane.showInputDialog("Input 5 numbers"));
myNumbers[i] = input;
}
}
public boolean duplicate( int number ) {
<BOOLEAN TO CHECK FOR DUPLICATES, RETURN FALSE OR TRUE>
}
public void printInputNumbers() {
JTextArea output = new JTextArea();
output.setText("Your numbers are:" + "\n");
for(int i = 0; i < myNumbers.length; i++) {
if (i % 5 == 0) {
output.append("\n");
}
output.append(myNumbers[i] + "\t");
}
JOptionPane.showMessageDialog(null, output, "Numbers", JOptionPane.PLAIN_MESSAGE);
}
}
コードタグが乱雑で申し訳ありません。間に白いフィールドがあるなどの問題がありました。私はここに新しいです。