duplicate case label im Fall 79-70
Habe ich einen duplicate case label in den folgenden code. Der java-compiler zu sagen, dass ich eine duplicate case label im Fall 79-70. Ich bin eine neue java-Programmierer, so könnten Sie bitte erklären, was ich falsch gemacht habe, mit weniger java-Terminologie?
public class Unit4Test2
{
public static void main( String [] args)
{
int test_Score = 80;
int test_Score2 = 40;
int Grade_Average = (test_Score + test_Score2) / 2 ;
switch( Grade_Average )
{
case 100-90:
System.out.println( " Your average test score is " + Grade_Average );
System.out.println( "Your letter grade is an A." );
break;
case 89-80:
System.out.println( " Your average test score is " + Grade_Average );
System.out.println( "Your letter grade is a B." );
break;
case 79-70:
System.out.println( " Your average test score is " + Grade_Average );
System.out.println( "Your letter grade is a C." );
break;
case 69-65:
System.out.println( " Your average test score is " + Grade_Average );
System.out.println( "Your letter grade is a D." );
break;
case 64-0:
System.out.println( " Your average test score is " + Grade_Average );
System.out.println( "Your letter grade is a F." );
break;
default:
System.out.println( " Invalid test score. ");
break;
}
}
}
Du musst angemeldet sein, um einen Kommentar abzugeben.
79-70
wird nicht so behandelt, als Angebot, sondern als einfache Subtraktion und sein Wert ist9
. Weil Sie schrieb auch89-80
und der Wert ist auch9
der compiler denkt, dass Sie angeben möchten9
zweimal.Besser zu strukturieren, diese Verwendung
if
undelse if
anstatt mit einem Schalter für diese Sache:Dieser Ansatz wird zunächst geprüft, ob
Grade_Average
größer ist als der erste Schwellenwert ist, und wenn es ist, druckt es die jeweiligen Sätze. Weiter überprüft er die nächste Schwelle, und wenn die größer ist, als Sie es bla bla bla. Schließlich, wenn keine übereinstimmung gefunden wird, gibt es einen Fehler. Es gibt außerdem einen Fehler zurück, wenn das test-Ergebnis ist größer als100
.Diese Methode, die ich vorgestellt wird, was ich persönlich tun würde, wie ich denke, es ist besser lesbar als eine case-Anweisung. Allerdings, wenn Sie immer noch darauf bestehen, über die Verwendung einer case-Anweisung, die Sie könnten versuchen, so etwas wie dieses:
70-79
ist-9
was ist eine Partitur, die Sie nie mit!