1
有人可以解释为什么我得到逻辑错误。 输出应该 输入·浇道·1·名称:·输入·浇道·1·时间·(在·分钟):·输入·浇道·2·名称:·输入·浇道·2·时间·(在·分钟):·输入·亚军·3·名称:·(在·分·输入·亚军·3·时间):·Runner3↵ Runner1↵ Runner2↵Java Codelab逻辑错误
import java.util.Scanner;
public class Runners {
public static void main(String[] args) {
Scanner keyboard = new Scanner(System.in);
double t1,
t2,
t3;
System.out.print("Enter runner 1 name:");
String name1;
name1 = keyboard.nextLine();
System.out.print(" Enter runner 1 time (in minutes):");
String time1;
time1 = keyboard.nextLine();
System.out.print(" Enter runner 2 name:");
String name2;
name2 = keyboard.nextLine();
System.out.print(" Enter runner 2 time (in minutes):");
String time2;
time2 = keyboard.nextLine();
System.out.print(" Enter runner 3 name:");
String name3;
name3 = keyboard.nextLine();
System.out.print(" Enter runner 3 time (in minutes):");
String time3;
time3 = keyboard.nextLine();
t1 = Double.parseDouble(time1);
t2 = Double.parseDouble(time2);
t3 = Double.parseDouble(time3);
if(t1 > t2 && t1 > t3){
if(t2>t3){
System.out.print(" "+ name3 + "\n"+ name2 + "\n" + name1+ "\n");
}
else{
System.out.print(" "+ name2 + "\n" + name3 + "\n" + name1+ "\n");
}
}
else if(t2>t1 && t2>t3){
if(t1>t3){
System.out.print(" " + name3 + "\n" + name1 + "\n" + name2+ "\n");
}
else{
System.out.print(" " + name1 + "\n" + name3 + "\n" + name2+ "\n");
}
}
else if(t3>t2 && t3>t1){
if(t2>t1){
System.out.print(" " + name1 + "\n" + name2 + "\n" + name3+ "\n");
}
else{
System.out.print(" " + name2 + "\n" + name1 + "\n" + name3+ "\n");
}
}
else if(t3==t2 && t3==t1){
if(t2>t1){
System.out.print(" " + name1 + "\n" + name2 + "\n" + name3+ "\n");
}
else{
System.out.print(" " + name1 + "\n" + name2 + "\n" + name3 + "\n");
}
}
}
}
你的问题不是很清楚你能否详细说明 – basic
提示是:11。跑步 写一个程序,询问三名跑步者的名字和时间,几分钟内,他们每个人都花了 完成比赛。程序应显示 命令中的跑步者姓名,他们已完成。我必须使输出与我上面发布的完全相同,当我发布它时,我会得到一个逻辑错误。它说我的标准输出内容不正确。 – jkjk
没有逻辑错误?它完全按照它应该的输出。首先完成第一名,然后是第二名,然后是第三名。 – basic