3つの配列を持つJavaプログラムを作成します。最初の配列には、50から100までのランダムな整数値のリストが格納されます。プログラムは、渡された値と失敗した値を識別します。 2番目の配列には、渡されたすべての値が含まれます。 3番目の配列にはすべての失敗した値が含まれます。必要な入力には、配列のサイズと合格グレードが含まれます。出力は、元のリスト、合格した成績のリスト、および失敗した成績のリストである。 これは最高のコードではありませんが、私を助けてください。私は研究をしましたが、これは私が持っているすべてです。Javaの条件で別の配列に配列のインデックスを挿入する方法
import java.util.Arrays;
import java.util.Scanner;
public class array {
public static void main(String[] args) {
int size;
int passing;
Scanner input = new Scanner(System.in);
System.out.println("Size of Array: ");
size = input.nextInt();
System.out.println("Passing Grade: ");
passing = input.nextInt();
int [] score = new int [size];
int [] passed= new int [size];
int [] failed= new int [size];
int index = 0;
int max = 100;
int min = 50;
System.out.print("Original List:\n");
for(int a =0; a<=score.length; a++){
score[a] = min + (int)(Math.random() * ((max-min) + 1));
System.out.print(score[a] + "\n");
}
System.out.print("Passed Values:\n");
for(int a=1; a<=score.length; a++){
if (score[a] >= passing){
int res = (passed[index++] = score[a]);
System.out.print(res + "\n");
}
}
System.out.print("Failed Values:\n");
for(int a=1; a<=score.length; a++){
if (score[a] <passing){
failed[index++] = score[a];
int res2 = (passed[index++] = score[a]);
System.out.print(res2 + "\n");
}
}
}
}
に
index
変数をリセットする必要があります。有効な最大のインデックスは 'array.length - 1'です。 – molbdniloあなたがここに力を入れているとすれば、私はあなたに骨を投げます。 2つの別々の指標を使用する。それぞれ 'passed'と' failed'配列の 'passIndex'と' failIndex'を返します。最大 'a'値は' <= 'の代わりに' <'を使います。 'res'計算を分割して配列に入れます。 'print'の代わりに' println'を使って新しい行を処理することができます。 "失敗"ループは、その前のループの 'else'条件になります。不明の理由で失敗したループで 'passed 'を参照します。 – Ironcache
通常、StackOverflowで質問を投稿する場合は、**特定の**問題に対処する必要があります。あなたの問題を分解し、問題の特定の部分を解決できない場合は、SOに助けを求める。基本的に「ここでは自分のコードは機能しません」と言うような質問は、しばしば貧弱です。 – Ironcache