友達とJavaの宿題をしていました。インストラクターは、整数入力を数値グレードに変換するJavaプログラムを作成することを望んでいます。100-90=Aなど。唯一の落とし穴は、彼がswitchステートメントを使用しなければならないということです。彼はまたしなければならない:
ユーザーが0未満または100を超える数値を入力した場合に、丁寧なエラーメッセージを表示するcaseをswitchステートメントに含めます。」
もともと私はこれを考えました...
import java.util.Scanner;
public class grade
{
public static void main(String[] args)
{
int ng;//number grade
String lg = "";//letter grade
System.out.println("enter grade");
Scanner in = new Scanner(System.in);
ng = in.nextInt();
switch (ng/10)
{
case 10:
case 9:
lg = "A";
break;
case 8:
lg = "B";
break;
case 7:
lg = "C";
break;
case 6:
lg = "D";
break;
default:
lg = "F";
break;
}
System.out.println("You got an " + lg);
}
}
100を超え0未満の値を許可するため、これは完全ではありませんが、100から0までのすべての整数を入力しないようにしています。これはswitchステートメントのばかげた使い方のように思えます。DRYの原則を説明する以外に、大学の教授がなぜそれを教えるのか想像できません。
switchステートメントを使用するが、100から0までのすべてのintを入力しない、より良い方法はありますか?