0

このプロジェクト用に古いコードを再利用しましたが、すべての整数と文字列がこのプロジェクト用に再定義されていることを再確認しました。私が間違っていることを教えてもらえますか?私はプログラミングがあまり得意ではありません。'sort'、'display'、'print' can't be applied to ( java.lang.String[],int[],java.io,BufferedReader) などのエラーが表示されます。どんな助けでも大歓迎です。

編集:ここにスタックトレースがあります

C:\java\bin>javac CourseOrganizer.java
CourseOrganizer.java:23: getdata(int[],java.lang.String[],int) in CourseOrganize
r cannot be applied to (int[],java.lang.String[])
        getdata(Grade,Course);
        ^
CourseOrganizer.java:28: cannot resolve symbol
symbol  : method display (int[],java.lang.String[],java.io.BufferedReader)
location: class CourseOrganizer
        display(Grade,Course,in);
        ^
CourseOrganizer.java:34: sort(int[],java.lang.String[],int,java.io.BufferedReade
r) in CourseOrganizer cannot be applied to (int[],java.lang.String[],java.io.Buf
feredReader)
        sorttype=sort(Grade,Course,in);
                 ^
CourseOrganizer.java:87: sortstring(int[],java.lang.String[],int) in CourseOrgan
izer cannot be applied to (int[],java.lang.String[])
     {sortstring(Grade,Course);
      ^
CourseOrganizer.java:88: print(int[],java.lang.String[],int,java.io.BufferedRead
er) in CourseOrganizer cannot be applied to (int[],java.lang.String[],java.io.Bu
fferedReader)
      print(Grade,Course,kb);
      ^
CourseOrganizer.java:92: sortint(int[],java.lang.String[],int) in CourseOrganize
r cannot be applied to (int[],java.lang.String[])
     {sortint(Grade,Course);
      ^
CourseOrganizer.java:93: print(int[],java.lang.String[],int,java.io.BufferedRead
er) in CourseOrganizer cannot be applied to (int[],java.lang.String[],java.io.Bu
fferedReader)
      print(Grade,Course,kb);
      ^
7 errors

import java.io.*;
import java.util.StringTokenizer;
class CourseOrganizer {
public static void main(String args[]) throws Exception
{
InputStreamReader kb = new InputStreamReader(System.in);
BufferedReader in = new BufferedReader(kb);   
String buffer;
char choice;
boolean fileread=false;
int quantity=8;
int[]Grade=new int[quantity];
String[]Course=new String[quantity];
String sorttype="";
do
//Setup Menu
{choice=menu(in);
if(choice=='E')
   {if(fileread)
        System.out.println("Data already has been entered");
     else
        {fileread=true;
        getdata(Grade,Course);
         }
    }
else if(choice=='D')
    {if(fileread)
        display(Grade,Course,in);
     else
        System.out.println("Must enter data before it is displayed");
         }
else if(choice=='S')
    {if(fileread)
        sorttype=sort(Grade,Course,in);
     else
        System.out.println("Must enter data before it is sorted");
    }


}while(choice!='X');
}
//Sort Data
public static void sortint(int Grade[],String Course[],int quantity)
{int i,j;
for(i=0;i<quantity-1;i++)
    for(j=i+1;j<quantity;j++)
         if(Grade[i]>Grade[j])
              {swap(Grade,i,j);
                swap(Course,i,j);

                }
}
public static void sortstring(int Grade[],String Course[],int quantity)
{int i,j;
for(i=0;i<quantity-1;i++)
    for(j=i+1;j<quantity;j++)
         if(Course[i].compareToIgnoreCase(Course[j])>0)
              {swap(Grade,i,j);
                swap(Course,i,j);

                }
}
public static void swap(int[] a,int i,int j)
{int t;
t=a[i];
a[i]=a[j];
a[j]=t;
}
public static void swap(String[] a,int i,int j)
{String t;
t=a[i];
a[i]=a[j];
a[j]=t;
}

public static String sort(int Grade[],String Course[],int quantity,BufferedReader kb)throws Exception
{String buffer;
do
{
//Allow user to sort the criminals
System.out.println("What do you want to sort by?");
System.out.println("Course");
System.out.println("Grade");
System.out.print("Enter>>");
buffer=kb.readLine();
if(buffer.equalsIgnoreCase("Course"))
     {sortstring(Course,Grade);
      print(Course,Grade,kb);
      return buffer;
      }
else if(buffer.equalsIgnoreCase("Grade"))
     {sortint(Course,Grade);
      print(Course,Grade,kb);
      return buffer;
      }

System.out.println("Invalid entry");
}while(true);

}
public static String gettype(BufferedReader kb)throws Exception
{String buffer;
do
{
//Allow users to search for course
System.out.println("What course would you like to see?");
System.out.print("Enter>>");
buffer=kb.readLine();
if(buffer.equalsIgnoreCase("Calculus")||buffer.equalsIgnoreCase("Advanced Functions")||buffer.equalsIgnoreCase("Computer Science")||buffer.equalsIgnoreCase("Physics")||buffer.equalsIgnoreCase("Biology")||buffer.equalsIgnoreCase("Chemistry")||buffer.equalsIgnoreCase("History")||buffer.equalsIgnoreCase("English")||buffer.equalsIgnoreCase("Economics")||buffer.equalsIgnoreCase("Data Management"))
     return buffer;
System.out.println("Invalid entry");
}while(true);
}
public static void print(int Grade[],String Course[],int quantity,BufferedReader kb)throws Exception
{System.out.println("Sorted data");
System.out.println("Grade\tCourse");
for(int i=0;i<quantity;i++)
        System.out.println(Grade[i]+"\t"+Course[i]);
}
//Load criminal text file
public static void getdata(int Grade[],String Course[],int quantity)throws Exception
{FileReader file = new FileReader("courses.txt");
BufferedReader input = new BufferedReader(file);
int i;
String buffer;
for( i=0;i<quantity;i++)
  {buffer=input.readLine();
   StringTokenizer st = new StringTokenizer(buffer, ",");
   Course[i]=st.nextToken();
   Grade[i]=Integer.parseInt((st.nextToken()).trim());
    }
input.close();
}

public static char menu(BufferedReader kb)throws Exception
{String buffer;
char input;
do
{
System.out.println("\nWhat would you like to do?");
System.out.println("E-Enter course data");
System.out.println("D-Display course data");
System.out.println("X-Exit program");
System.out.println("S-Sort list");
System.out.print("Enter E, D, X, S>>");
buffer=kb.readLine();
input=(buffer.toUpperCase()).charAt(0);
if(input=='E'||input=='D'||input=='X'||input=='S')
     return input;
System.out.println("Invalid entry");
}while(true);
4

1 に答える 1

2

'sort'、[...]は(java.lang.String []、int []、java.io、BufferedReader)に適用できません

sort別の署名があるので、それはかなり合理的です:

int Grade[], String Course[], int quantity, BufferedReader kb)

お気づきのように、は最初の引数であり、aは2番目の引数であるとsort期待しています。だから、あなたがそれを呼ぶところならどこへでも行き、あなたが渡す引数の順序を変えてください。これが、他のメソッドでもこのエラーが表示される理由である可能性があります。int[]String[]

于 2013-01-30T12:23:29.790 に答える