我正在对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)
请问有人可以告诉我代码有什么问题吗?
答案 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之间,一切都会完美无缺。