0

私はこのエラーを乗り越えることができないようです。私のコード:

import java.util.*;
public class Collector {

    public static void Names () {

        java.util.Scanner input = new java.util.Scanner(System.in);

    // Prompt the user to enter the number of students
    System.out.print("Enter the number of students: ");
    int numberOfStudents = input.nextInt();

    // Create arrays
    String[] names = new String[numberOfStudents];
    double[] scores = new double[numberOfStudents];

    // Enter student name and score
    for (int i = 0; i < scores.length; i++)
        {
      System.out.print("Enter student's name: ");
      names[i] = input.next();
      System.out.print("Enter student's exam score: ");
      scores[i] = input.nextDouble();
      System.out.println(" ");
          }

    }
      void SortRoutine (String[] names, double[] scores) {
            for (int i = scores.length - 1; i >= 1; i--)
    {
      // Find the maximum in the scores[0..i]
      double currentMax = scores[0];
      int currentMaxIndex = 0;

      for (int j = 1; j <= i; j++)
      {
        if (currentMax < scores[j])
        {
          currentMax = scores[j];
          currentMaxIndex = j;
        }
      }

      //arrange values as necessary 
      if (currentMaxIndex != i)
      {
        scores[currentMaxIndex] = scores[i];
        scores[i] = currentMax;
        String temp = names[currentMaxIndex];
        names[currentMaxIndex] = names[i];
        names[i] = temp;


      }
    }

   // Print student data
    System.out.println(" ");
    System.out.println("*****   Student Scores Sorted High to Low   *****");
    System.out.println(" ");
    for (int i = scores.length - 1; i >= 0; i--)
    {
      System.out.println(names[i] + "\t" + scores[i] + "\t");
    }
      System.out.println(" ");
    }
  }

主な方法:

 import java.util.*;
 import java.util.Arrays;
public class NameCollector {

    public static void main(String[] args) {
    Collector collect = new Collector();
    collect.Names();
    collect.SortRoutine();
    }
}

Collector クラスの 28 行目から引数を削除すると、cannot find symbol errors. これは、Jcreator が配列の値を見つけられないことを意味すると思います。最初のメソッドで定義された配列値を 2 番目のメソッドから見えるようにするにはどうすればよいでしょうか? 引数を 28 行目に残すと、エラー メッセージは次のようになります。

C:\Users\Dark Prince\Documents\JCreator LE\MyProjects\NameCollector\src\NameCollector.java:16: error: method SortRoutine in class Collector cannot be applied to given types;
collect.SortRoutine();
       ^
  required: String[],double[]
  found: no arguments
  reason: actual and formal argument lists differ in length
1 error

プロセスが完了しました。

引数を使用して、並べ替えメソッドで配列の値が表示されるようにするべきではないと考えていますが、実際には、くそったれを機能させたいだけです。

4

1 に答える 1