私はJava割り当てに取り組んでいます。これはそれが要求するものです:
TestScores
という名前のクラスを記述します。クラスコンストラクターは、引数としてテストスコアの配列を受け入れる必要があります。クラスには、テストスコアの平均を返すメソッドが必要です。配列内のテストスコアが負または100より大きい場合、クラスはIllegalArgumentException
をスローする必要があります。示す。TestScores
およびTestScoresDemo
という名前のファイルが必要です。
これが今のところです。私はそれのいくつかが間違っていることを知っています、そしてそれを修正する助けが必要です:
class TestScores {
public static void checkscore(int s) {
if (s<0) throw new IllegalArgumentException("Error: score is negative.");
else if (s>100) throw new IllegalArgumentException("Error Score is higher then 100");
else if (s>89)throw new IllegalArgumentException("Your grade is an A");
else if (s>79 && s<90)throw new IllegalArgumentException("Your grade is an B");
else if (s>69 && s<80)throw new IllegalArgumentException("Your grade is an C");
else if (s>59 && s<70)throw new IllegalArgumentException("Your grade is an D");
else if (s<60)throw new IllegalArgumentException("Your grade is an F");
{
int sum = 0; //all elements together
for (int i = 0; i < a.length; i++)
sum += a[i];
}
return sum / a.length;
}
}
class TestScoresDemo {
public static void main(String[] args) {
int score = 0;
Scanner scanner = new Scanner(System.in);
System.out.print(" Enter a Grade number: ");
String input = scanner.nextLine();
score = Integer.parseInt(input);
TestScores.checkscore(score);
System.out.print("Test score average is" + sum);
}
}
私の本ではtry
でそれが見えるので、割り当てはIllegalArgumentException
ステートメントの呼び出しを知っています。誰か助けてもらえますか?私はEclipseをIDEとして使用しています。
TestScores
クラスには2つのメンバーが必要です。スコアの配列を受け入れるコンストラクターと、スコアの平均を返すメソッドです。テストスコアが範囲外の場合、これらのどれがIllegalArgumentException
をスローするかについては、割り当てが完全に明確ではありませんが、コンストラクターにします(引数があるため)。
_public class TestScores {
public TestScores(int[] scores) throws IllegalArgumentException {
// test the scores for validity and throw an exception if appropriate
// otherwise stash the scores in a field for later use
}
public float getAverageScore() {
// compute the average score and return it
}
}
_
TestScoresDemo
クラスは順調に進んでいます。最初に、スコアのセットを配列に収集する必要があります。次に、TestScores
オブジェクトを作成します。これは、例外をスローする可能性があるため、try
/catch
ブロック内にある必要があります。次に、getAverageScore()
を呼び出して、結果を処理するだけです。
例外とは、アプリケーションの通常のフローでは正しく機能しないものを定義するために使用されるものです。メソッドcheckScoreが呼び出され、範囲外(0から100の間)の引数が見つかった場合は、IllegalArgumentExceptionをスローする必要があります。
クラスの構造は次のとおりです。
public class TestScore {
private int scores[]; //With setters and getters.
public TestScore(int scores[]) {
//Here, you set the scores array to the one on this class.
}
public int getAverage() {
//You do the average here, and since you need to iterate over the
//array to sum each value, you can check the value and if it's not
//ok you throw the IllegalArgumentException. No throws keyword
//required since this kind of exception (like NullPointerException
//and many others) are unchecked exceptions, meaning they can be
//thrown by a method and it does not need to specify them.
}
}
テストクラスは、コンストラクターのパラメーターとしてint配列を使用してTestScoreオブジェクトを作成する必要があります。次に、getAverageメソッドを呼び出す必要があるため、try-catchステートメントを含むtestAverageScoreメソッドを作成します。
お役に立てば幸いです。幸運を!。
編集: IllegalArgumentExceptionは未チェックの例外です。