获得最高等级并使用数组打印出来

时间:2015-11-05 20:38:10

标签: java arrays

我想编写一个程序,可以读取分数,获得最佳分数,并根据分数分配成绩。到目前为止,我有一般的想法,我的问题是弄清楚如何合并必要的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();



 }
}

2 个答案:

答案 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.");
    }


}
}`