Estoy tratando de trabajar en una tarea de Java. Esto es lo que pregunta:¿Es esta la forma correcta de usar una IllegalArgumentException?
Escriba una clase llamada
TestScores
. El constructor de clase debe aceptar una matriz de puntajes de prueba como su argumento. La clase debe tener un método que devuelva el promedio de los puntajes de las pruebas. Si un puntaje de prueba en el conjunto es negativo o mayor que 100, la clase debe arrojar unIllegalArgumentException
. Demostrar. Necesito un archivo llamadoTestScores
yTestScoresDemo
.
Esto es lo que tengo hasta ahora. Sé que algunos de que es malo y necesito ayuda fijándola:
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);
}
}
Conozco las llamadas de asignación para una declaración try
porque en mi libro que es lo que veo con el IllegalArgumentException
. ¿Alguien puede ayudarme? Estoy usando Eclipse como un IDE.
¿Por qué crees que esto está mal? ¿Recibes un mensaje de error que no deberías? No podemos ayudar si no sabemos qué parte necesita ser reparada. –
Gracias. Déjame revisar y responderte. Tal vez sea simplemente un simple error de tipo – Alexandria
, solo debería lanzar una 'IllegalArgumentException' en los casos en que el argumento no sea válido en su caso por debajo de 0 o por encima de 100. – twain249