编程更多用户输入数据

时间:2015-07-29 08:03:58

标签: java

我正在对Programmr进行挑战,我发现我的代码没有通过上述命名挑战的测试,即使我编译并使用他们的在线编译器运行代码时,它给了我所需的输出。这是我的代码:

 import java.util.Scanner;
 class Challenge{
      public static void main(String args[]){
      Scanner scanner=new Scanner(System.in);
      System.out.println("Please enter the following information so I can sell it for a profit!:");

      System.out.print("First name: ");
      String fn = scanner.next();
      System.out.print("Last name: ");
      String ln = scanner.next();
      System.out.print("Grade (9-12): ");
      int grade = scanner.nextInt();
      while(grade < 9 || grade > 12) {
         System.out.println("Invalid Grade");
         System.out.println("Grade (9-12): ");
         grade = scanner.nextInt();
     }
     System.out.print("Student ID: ");
     String id = scanner.next();
     System.out.print("Login: ");
     String login = scanner.next();
     System.out.print("GPA (0.0-4.0): ");
     double gpa = scanner.nextDouble();

      while (gpa < 0 || gpa > 4) {
        System.out.println("Invalid GPA");
        System.out.println("GPA (0.0-4.0): ");
        gpa = scanner.nextDouble();
    }

    ///{write you code here

    System.out.println("Login:"+ login); 
    System.out.println("ID:"+ id);
    System.out.println("Name:"+ ln +"; " + fn);
    System.out.println("GPA:"+ gpa);
    System.out.println("Grade:"+ grade);

///}

}

}

我编写了我的代码,其中挑战说///{write you code here ///}并且它编译并运行在他们的编译器上但是当我尝试提交它时,它说:

我们的意见: Amr Korayyem 12 11 Amr 4.23

预期产出: 阿姆鲁 11 Korayyem;阿姆鲁 4.23 12

您的代码输出: 29)

请问有人可以告诉我代码有什么问题吗?

2 个答案:

答案 0 :(得分:0)

我尝试过执行你的代码。根据您的代码,似乎4.23不是有效的GPA。

答案 1 :(得分:0)

我编译并运行了你的代码,一切都运行正常,虽然4.23不是有效的GPA。

 while (gpa < 0 || gpa > 4) {
    System.out.println("Invalid GPA");
    System.out.println("GPA (0.0-4.0): ");
    gpa = scanner.nextDouble();
}

该行告诉代码,如果GPA不在0.0和4.0之间执行:

    System.out.println("Invalid GPA");
System.out.println("GPA (0.0-4.0): ");

因此你不应该得到一个输出,你的程序应该只是卡在那里。尝试通过控制台/终端实际编译程序并运行它们。否则,如果输入的GPA介于0.0-4.0之间,一切都会完美无缺。