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 循环放在外面会更好,因为你只想得到一次输入......

于 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 回答