我的代码发布在下面。我正在生成随机数字等级并将它们分配给字母等级。然后将创建一个客户端类来测试该程序。我的问题即将结束。我收到一个错误,表示非法开始表达。也许我只需要一组新的眼睛来看看这个。我似乎无法弄清楚。谢谢!用户定义类中的Java数组
import java.util.Random;
public class Convertgrade
{
private int numberOfStudents;
private int[] studentGrades = new int[100];
public Convertgrade()
{
numberOfStudents = 0;
}
//one arg constructor, sets numberOfStudents = students
public Convertgrade(int students)
{
numberOfStudents = students;
setGrades(students);
}
//mutator
public void setStudents(int students)
{
if(students < 0)
{
numberOfStudents = 0;
}
else
{
numberOfStudents = students;
setGrades(students);
}
}
//accessor
public int getStudents()
{
return numberOfStudents;
}
public void setGrades(int students)
{
Random randomNumber = new Random();
for(int count = 0; count < students; count++)
{
studentGrades[count] = randomNumber.nextInt(101);
}
}
public char[] getLetterGrades()
{
char[] letterGrades = new char[numberOfStudents];
for(int count = 0; count < numberOfStudents; count++)
{
if(studentGrades[count] <= 59)
letterGrades[count] = 'F';
else if(studentGrades[count] <= 69)
letterGrades[count] = 'D';
else if(studentGrades[count] <= 79)
letterGrades[count] = 'C';
else if(studentGrades[count] <= 89)
letterGrades[count] = 'B';
else if(studentGrades[count] <= 100)
letterGrades[count] = 'A';
}
return letterGrades;
}
public int getAs()
{
int numberOfAs = 0;
for(int count = 0; count < numberOfStudents; count++)
{
if(studentGrades[count] >= 90)
numberOfAs++;
}
return numberOfAs;
}
public int[] getNumberOfEachGrade()
{
int[] numberOfGrades = new int[numberOfStudents];
for(int count = 0; count < numberOfStudents; count++)
{
if(studentGrades[count] <= 59)
numberOfGrades[count] ++;
else if(studentGrades[count] <= 69)
numberOfGrades[count] ++;
else if(studentGrades[count] <= 79)
numberOfGrades[count] ++;
else if(studentGrades[count] <= 89)
numberOfGrades[count] ++;
else if(studentGrades[count] <= 100)
numberOfGrades[count] ++;
}
return numberOfGrades;
}
public String toString()
{
System.out.format("The number of students = %d\n", numberOfStudents);
for(int count = 0; count < numberOfStudents; count++)
{
System.out.format("Grade %d is %d\n", count + 1, studentGrades[count]);
}
return String.format("\n");
public void sort_array(int[] array);
//GETTING ERRORS HERE^: ILLEGAL START OF EXPRESSION
{
int intTemp;
int count = 0;
int index = 0;
for(count = 0; count < (array.length - 1); count++)
{
for(index = 0; index < (array.length - 1); index++)
{
if(array[index] > array[index +1])
{
intTemp = array[index +1];
array[index +1] = array[index];
array[index] = intTemp;
}
}
}
}
}
}
'public void sort_array(int [] array){...}'...用大括号替换分号。 –
您已经指出了问题。从声明中删除分号。 –
仍然收到错误家伙。感谢您的回应。你们可以尝试编译它吗? –