2017-01-14 1 views
0

入力するテストスコアの数である整数Nを与えます。各行Nについて、テストスコアに続いて生徒名が表示されます。私は、彼らのテスト得点の合計を計算する必要があります& 2番目に小さい学生の名前を印刷します。配列内の学生テストのスコアを並べ替える

+0

入力テストでは、Hのテストスコアは4と表示されています。 – Gyanshu

+0

重複したスコアの学生がいて、Bのスコアが6で、Eのスコアが3(7ではない)です。また、Hは4 – ucsunil

+0

です。追加する必要があります。それは彼らの得点の合計です(Hがどのように4を持っているかを見て、その後Hは5を持っていると言います)。 4 + 5 = 9 –

答えて

0

私は、学生のためのクラスの配列を作成することです。クラスには、名前とスコアの2つのインスタンス変数があります。すべての入力が完了したら、取得するだけです。ここで私はその正確なことを思いついたコードです。

import java.util.*; 

public class testScores { 

    public static void main(String[] args){ 


     Scanner scan = new Scanner(System.in); 
     int n = scan.nextInt(); 
     Student[] students = new Student[n]; 
     for(int i = 0; i < n; i++){ 
      students[i] = new Student(); 
      System.out.print("Enter the student's name"); 
      students[i].setName(scan.next()); 
      scan.nextLine(); 
      System.out.print("Enter the student's score"); 
      students[i].setScore(scan.nextInt()); 
      scan.nextLine(); 
     } 

     int total = 0; 
     int smallest_name = 0; 
     for(int i = 0; i < n; i++){ 
      total+=students[i].getScore(); 
      if(students[i].getName().length() < students[smallest_name].getName().length()) 
       smallest_name = i; 
     } 

     int second_smallest = 0; 
     for(int i = 0; i < n; i++){ 
      if(students[i].getName().length() > students[smallest_name].getName().length() && students[i].getName().length() < students[second_smallest].getName().length()) 
       second_smallest = i; 
     } 

     System.out.println("The sum of the scores is: " + total); 
     System.out.println("The second smallest name is: " + students[second_smallest].getName()); 

    } 
} 

class Student{ 

    private String name; 
    private int score; 

    public Student(){} 

    public void setScore(int n){ 
     score = n; 
    } 

    public void setName(String n){ 
     name = n; 
    } 

    public int getScore(){ 
     return score; 
    } 

    public String getName(){ 
     return name; 
    } 

} 
+0

うん、私はそれらを得ることに取り組んでいる、私は2番目に再投稿されます。 –

+0

これは私にコンパイルエラーを与えませんでした。 –

+0

これはうまくいくはず –