私は現在、クラス管理システムを作成することを選択したOレベルプロジェクトのプログラムに取り組んでいます。私のメソッドクラスでは、私のプログラムのさまざまな機能を制御するさまざまなメソッドがあります。例えば、学生の名前を収集するメソッドや、学生の等級のヒストグラムを表示するメソッドです。しかし、私は自分の方法の欠陥を発見しました。これは、生徒の名前を1つずつリストするメソッドです(このメソッドの前に実行されるメソッドの配列に保存されます)。生徒のマークを尋ねます。ここで、ユーザは任意の数を入力することができるが、これは通常、0〜100の数値グレードを考慮すると不都合である。私は次のコードを試しましたが、私は窮地に瀕しています。コードは実際には100以上のマークを入力するのを止めますが、ユーザーが正しいマークを再入力できるようにする代わりに、次の生徒にスキップして前の生徒にマークを付けません。以下は、コードと言われている。値をスキップしないためにユーザーの入力が必要です。
//mark input
public void markin() {
System.out.println("=====================================");
System.out.println("Please enter the mark of the students");
System.out.println("=====================================");
for (int g = 0; g != marks.length; g++) {
System.out.println(names[g]);
marks[g] = Keyboard.readInt();
while(marks[g]<0||marks[g]>100){
System.out.println("Kindly enter a number that is less than 100");
break;
}
}
}
ヘルプは非常に高く評価されるだろうと、私の英語は非常に良いではない場合:)事前に 謝罪をありがとうございました。
二私は...あなた休憩を見ることができる問題あなたが実際に入力を求めなければならない無限ループ、 'readInt'は' Scanner'の 'nextInt'に似ています。これは" Enter "を押して新しい値を入力すると実際には機能しません。 – Makoto