別のクラスにある switch ステートメントを次に示します。
public int calcPoints(char grade)
{
int points;
switch(grade)
{
case 'A':
points = 4; break;
case 'a':
points = 4; break;
case 'B':
points = 3; break;
case 'b':
points = 3; break;
case 'C':
points = 2; break;
case 'c':
points = 2; break;
case 'D':
points = 1; break;
case 'd':
points = 1; break;
case 'F':
points = 0; break;
case 'f':
points = 0; break;
default:
points = -1; break;
}
return points;
}
if ステートメントがある場所は次のとおりです (コメントで強調表示されています)。
do
{
System.out.print("Enter grade (one character): ");
aGrade = in.next();
grade = aGrade.charAt(0);
if(aGrade.length() != 1)
{
System.out.println("Invalid grade - must be exactly one character!");
}
else if(aGrade.equals(-1)) //This is where I want to use the default value
//Obviously (-1) won't work
{
System.out.println("Invalid grade - must enter A,B,C,D,F");
}
}
while(aGrade.length() != 1 ||(aGrade.equals(-1))); //I want to use it here too.
上記のコメントで値を使用する場所を正確に示しました。方法がある場合、switch ステートメントのデフォルト値を使用するにはどうすればよいですか。