私はJavaを初めて使い、自分の能力を最大限に生かすことができます。私は試験のスコアを取ってそれを文字の等級に変換する課題に取り組んでいます。私はそれのコードを書いても何の問題もなく、実際にはうまくいきます。ループバックと文字入力を追加
import java.util.Scanner;
public class grades {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
byte Score;
Scanner keyboard = new Scanner(System.in);
//Start program
System.out.println("Welcome to the automated grading system!");
{
System.out.println("Please enter your exam score from 0-100. Press 'E' to Exit");
}
Score = input.nextByte();
{
if(Score >= 90 && Score <= 100) {
System.out.println("Your Grade is an A.");
} else if (Score >= 80 && Score <= 89) {
System.out.println("your Grade is a B.");
} else if (Score >= 70 && Score <= 79) {
System.out.println("Your Grade is a C.");
} else if (Score >= 60 && Score <= 69){
{System.out.println("Your Grade is a D.");}
}else if (Score < 50){{
System.out.println("Your Grade is a F.");}
}}
}
}
私は苦労している問題は、ユーザーが数字の代わりに文字「E」を入力したことです。私が持っているものに加えてそれをどのように追加するのですか?また、私はプログラムをループバックして、一度最初に数字を入力してみようとしていますが、最初のメッセージは何度も繰り返されています。
だから私はそれを実現する方法を知る必要があります。
私はブール値を確立しなければならないことは知っていますが、while文をどこに置くべきかはわかりません。
なぜたくさんの不要なブロックがあるのですか? – Li357
'input.nextByte()'を使う代わりに(例えば10101のような入力がないと失敗する) '.next()'を使って文字列として読み込み、文字列が "Eそうでない場合は数字として解析し、数値でないか数値ではあるが範囲外であればエラー出力を出してください。 – alfasin
申し訳ありませんが、Andrew Li、私はこのすべてを新しくしており、すべてを理解するために最善を尽くしています。 –