プログラムは正常にコンパイルおよび実行されます。ただし、最小スコアの値が間違っています。もう一度確認すると、plsがこれを解決するのに役立つ理由がわかりません。
/* import neccessary component for the program*/
import java.util.*;
public class assign4 {
/* create a input stream*/
static Scanner console = new Scanner(System.in);
public static void main(String[]args) {
/* declare variables and strings*/
int[] score;
score = new int[10];
String[] name;
name = new String[10];
String header = String.format("%10s%10s%8s%n", "Name", "Score", "Grade");
int min = score[0];
int max = score[0];
char grade[];
grade = new char[10];
int maxindex = 0;
int lowindex = 0;
for (int i = 0; i <= 9; i++) {
/* Get user's input for student's name and score*/
System.out.println("Please enter the student's name.");
name[i] = console.nextLine();
System.out.println("Please enter the student's score.( 0-100 )");
score[i] = console.nextInt();
if (score[i] > 80) {
grade[i] = 'A';
} else if (score[i] > 65) {
grade[i] = 'B';
} else if (score[i] > 40) {
grade[i] = 'C';
} else if (score[i] > 20) {
grade[i] = 'D';
} else {
grade[i] = 'E';
}
/* when the score is higher than the score, it become maximum score*/
if (score[i] > max) {
max = score[i];
maxindex = i;
} /* when the score is lower than the score, it become minimum score*/ else if (score[i]
< min) {
min = score[i];
lowindex = i;
} /* when the score neither lower or higher than the score, it will be ignored and program
do nothing*/ else {}
/* avoid scanner skipping in order to capture user's input */
console.nextLine();
}
/* print out the stored information of the students and show higest and lowest score */
System.out.println();
System.out.print(header);
for (int i = 0; i <= 9; i++) {
System.out.printf("%10s%10d%8s%n", name[i], score[i], grade[i]);
}
System.out.printf("%s obtains lowest score of %d%n", name[lowindex], min);
System.out.printf("%s obtains higest score of %d%n", name[maxindex], max);
}
}
プログラムの目的は、10人のスコアと名前を収集し、名前、スコア、最高スコア、最低スコア、および成績を印刷することです。また、私はこのウェブサイトに参加するだけです。私がポーズをとって尋ねる方法が間違っている場合は、教えて申し訳ありません