我正在jgrasp下制作这个程序而且我收到了一个错误.我检查了我的程序的拼写和语法,似乎是正确的.请帮助我 - 是否有一些我错过的导致我所有错误的东西?
import javax.swing.*;
public class Testscore
{
public static void main(String[] args)
{
int numberofTests = 0;
double grade = new double[numberofTests];
double startgrade = 0;
int x = 1 ;
String strInput;
// Get how many tests are used
strInput = JOptionPane.showInputDialog(null, "How many tests do you have? ");
numberofTests = Integer.parseInt(strInput);
grade = new double[(int) numberofTests];
do
{
for (int index = 0; index < grade.length; index++)
{
strInput = JOptionPane.showInputDialog(null, "Enter Test Score." + (index + 1));
grade = Double.parseDouble(strInput);
if (grade[index] < 0 || grade[index] > 100 )
{
try
{
throw new InvalidTestScore();
x=2;
}
catch (InvalidTestScore e)
{
e.printlnStackTrace();
system.out.println ("Choose a test score between 0 and 100");
}
}
}
}
while (x==1);
for (int index = 0; index < grade.length; index++ )
{
startgrade += grade[index];
}
average = startgrade/grade.length;
System.out.print("The average is: " + average);
}
}
Run Code Online (Sandbox Code Playgroud)
这是我得到的错误.
Testscore.java:12: incompatible types
found : double[]
required: double
double grade = new double[numberofTests];
^
Testscore.java:25: incompatible types
found : double[]
required: double
grade = new double[(int) numberofTests];
^
Testscore.java:30: double cannot be dereferenced
for (int index = 0; index < grade.length; index++)
^
Testscore.java:35: array required, but double found
if (grade[index] < 0 || grade[index] > 100 )
^
Testscore.java:35: array required, but double found
if (grade[index] < 0 || grade[index] > 100 )
^
Testscore.java:39: cannot find symbol
symbol : class InvalidTestScore
location: class Testscore
throw new InvalidTestScore();
^
Testscore.java:43: cannot find symbol
symbol : class InvalidTestScore
location: class Testscore
catch (InvalidTestScore e)
^
Testscore.java:46: package system does not exist
system.out.println ("Choose a test score between 0
and 100");
^
Testscore.java:53: double cannot be dereferenced
for (int index = 0; index < grade.length; index++ )
^
Testscore.java:56: array required, but double found
startgrade += grade[index];
^
Testscore.java:59: cannot find symbol
symbol : variable average
location: class Testscore
average = startgrade/grade.length;
^
Testscore.java:59: double cannot be dereferenced
average = startgrade/grade.length;
^
Testscore.java:61: cannot find symbol
symbol : variable average
location: class Testscore
System.out.print("The average is: " + average);
^
13 errors
Run Code Online (Sandbox Code Playgroud)
在第12行,尝试更改
double grade = new double[numberofTests];
Run Code Online (Sandbox Code Playgroud)
至
double[] grade = new double[numberofTests];
Run Code Online (Sandbox Code Playgroud)
所有后续错误似乎是编译器思想,后果grade是double不是他们的阵列.例如,提到"解除引用"是指索引到数组中; 索引标量是不合理的double.
| 归档时间: |
|
| 查看次数: |
2145 次 |
| 最近记录: |