我想编写一个程序,可以读取分数,获得最佳分数,并根据分数分配成绩。到目前为止,我有一般的想法,我的问题是弄清楚如何合并必要的for-loops
。我遇到的另一个问题是如何改变线路
----(String s1 = input.next();)并打印出最终答案输入的条目数。
我还必须使用等式
如果> = best-10
,等级为A,如果得分最高如果> = best-20
,等级为B,如果得分最高如果> = best-30
,等级为C,如果得分最高如果> = best-40
,等级为D,如果得分最高Ex解决方案:
输入学生人数: 4
输入 4 分数: 40 55 70 58
学生0分 40 且成绩为C
学生1得分 55 且成绩为B
等。到4名学生。
public class Lab_7_1{
public static void main(String[] args){
java.util.Scanner input=new java.util.Scanner(System.in);
System.out.print("Enter the number of students: ");
int n1=input.nextInt();
int [] number=new int[n1];
System.out.print("Enter "+n1+" Scores: ");
String s1=input.next();
}
}
答案 0 :(得分:0)
下一步(using a for
loop):
for (int i = 0; i < n1; i++) {
number[i] = input.nextInt();
}
既然您已经学会了如何编写for
循环,您可以遍历数字以找到最高数字,然后再次执行以打印结果。
答案 1 :(得分:0)
尝试这样的事情:
公共课Lab_7_1 {
public static void main(String[] args){
java.util.Scanner input=new java.util.Scanner(System.in);
System.out.print("Enter the number of students: ");
int n1=input.nextInt();
int [] number=new int[n1];
System.out.print("Enter "+n1+" Scores: ");
for (int i = 0; i < number.length; i++) {
number[i]=input.nextInt();
int b=i+1;
System.out.println("Score "+b+": "+number[i]);
}
int best = number[0];
for (int i = 0; i < number.length; i++) {
if (number[i]>best) best = number[i];
}
System.out.println("The best score is: "+best);
for (int i = 0; i < number.length; i++) {
if(number[i]>=best-20 && number[i]<=best-10) System.out.println("For score "+number[i] +" you get B grade.");
if(number[i]>=best-30 && number[i]<=best-20) System.out.println("For score "+number[i] +" you get C grade.");
if(number[i]>=best-40 && number[i]<=best-30) System.out.println("For score "+number[i] +" you get D grade.");
}
}
}`