0

パーセンテージ (成績) を要求するようにプログラムを作成しようとしていますが、ユーザーが最初の入力を行い、出力を見た後に再度要求したいと考えています。変数 myMark が割り当てられていないため、ループに問題があります。

import java.util.Scanner;
public class passFail{


    public static void main(String[] args){

        Scanner result = new Scanner(System.in);
        int myMark = 0;

        while(myMark >=0 && myMark <=100){

            System.out.println("Please enter the percentage you have received:");
            myMark = result.nextInt();

            if(myMark <=49 && myMark >=0){

                System.out.println("You have failed!");
            }

            else if(myMark <=59 && myMark >=50){
                System.out.println("You have passed!");
            }

            else if(myMark <=69 && myMark >=60){
                System.out.println("You have received a Credit");
            }

            else if(myMark <=79 && myMark >=70){
                System.out.println("You have received a Distinction!");
            }

            else if(myMark <=100 && myMark >=80){
                System.out.println("You have received a High Distinction");
            }

            else{
                System.out.println("Please enter a whole number");
            }


        }

    }


}
4

3 に答える 3

2

myMark使用する前に、最初に定義する必要があります。以下のようなもの:

  Scanner result = new Scanner(System.in); 
  int myMark = result.nextInt();

  while(myMark >=0 && myMark <= 100){

        System.out.println("Please enter the percentage you have received:");
        myMark = result.nextInt();
      ..................
于 2012-10-08T05:00:41.963 に答える
1

declare変数を入れ忘れたmyMark

-Type (データ型)に宣言しました

例えば:

int myMark;

-そしてScanner 、 loop の外側に配置すると、入力を一度だけ取得したいので、より良いでしょう...

于 2012-10-08T05:03:25.970 に答える
1

ループ条件myMarkで使用する前に宣言する必要があります。また、インスタンス変数として宣言する必要があります。whileScanner

public class Demo {
    private Scanner scanner = new Scanner(System.in);

    public static void main(String[] args) {

        int myMarks = 0;
        while (myMarks >= 0 && myMark < 100) {
            // Rest is all same
        }
    }
}
于 2012-10-08T05:08:06.407 に答える