2016-05-05 10 views
1

教師クラスのサイズを取り、名前とスコアを保持する配列を作成するコードを書いています。アイデアは、コードがスコア(名前ではなく)でソートするようにすることです。私の問題は、データのスコアの一部を二重にすることができないということです。基本的に、コードはint型の入力のみを受け取ります。生徒の名前と得点を順番に並べ替えるコード

私が完了したら、これを行うコードが必要です。

あなたのクラスには何人いるのですか? 6

  1. 名:トム・スミス

    スコア:82.5

  2. 名:メアリー・スミス

    スコア:92.5

  3. 名:アリスの滝

    スコア: 61

  4. 名:リンダ・ニューソン

    スコア:73

  5. 名:ジャック・ターナー

    スコア:89.3

  6. 名:ジョージ・ブラウン

    スコア:52

これは私がこれまで持っているものです。

import java.util.*; 
public class FinalJamesVincent { 
    public static void main(String[] args) { 
     Scanner input = new Scanner(System.in); 
     System.out.print("Enter the number of students: "); 
     int numofstudents = input.nextInt(); 
     String[] names = new String[numofstudents]; 
     double[] array = new double[numofstudents]; 
     for(int i = 0; i < numofstudents; i++) { 
      System.out.print("Name: "); 
      names[i] = input.next(); 
      System.out.print("Score: "); 
      array[i] = input.nextInt(); 
     } 
     selectionSort(names, array); 
     System.out.println(Arrays.toString(names)); 
    } 
    public static void selectionSort(String[] names, double[] array) { 
     for(int i = array.length - 1; i >= 1; i--) { 
      String temp; 
      double currentMax = array[0]; 
      int currentMaxIndex = 0; 
      for(int j = 1; j <= i; j++) { 
       if (currentMax > array[j]) { 
        currentMax = array[j]; 
        currentMaxIndex = j; 
       } 
      }  
       if (currentMaxIndex != i) { 
        temp = names[currentMaxIndex]; 
        names[currentMaxIndex] = names[i]; 
        names[i] = temp; 
        array[currentMaxIndex] = array[i]; 
        array[i] = currentMax; 
       } 
     }  
    } 
} 
+4

'nextInt'の代わりに' nextDouble'を使用して 'int'ではなく' double'を取得します。 – resueman

+0

初心者であれば分かりますが、これには「Student」クラスを作る方が良いでしょう。そしてそれらをあなたが分類することができる 'Student []'に格納します。 –

答えて

3
array[i] = input.nextInt(); 

nextInt()double入力を取るために、整数への入力を解析するのに対し、あなたはinput.nextDouble()を使用する必要があります。

array[i] = input.nextDouble();と置き換えると、完璧になります。

+0

ありがとう、私はそれが単純でなければならないことを知っていた。 –

関連する問題