Java代码实验室逻辑错误

Java代码实验室逻辑错误,java,Java,有人能解释一下为什么我会有逻辑错误吗。 输出应该是 输入·跑步者·1·姓名:·输入·跑步者·1·时间·分钟:·输入·跑步者·2·姓名:·输入·跑步者·2·时间·分钟:·输入·跑步者·3·姓名:·输入·跑步者·3·时间·分钟:·跑步者3↵ Runner1↵ Runner2↵ import java.util.Scanner; public class Runners { public static void main(String[] args) { Scanner keyboard

有人能解释一下为什么我会有逻辑错误吗。 输出应该是 输入·跑步者·1·姓名:·输入·跑步者·1·时间·分钟:·输入·跑步者·2·姓名:·输入·跑步者·2·时间·分钟:·输入·跑步者·3·姓名:·输入·跑步者·3·时间·分钟:·跑步者3↵ Runner1↵ Runner2↵

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");
        }




}
    }
}

我来到这里是为了寻找同一个问题的答案,并在本例中使用了代码。最后出现了一个合乎逻辑的问题。第67行中的AND应为OR。你不能有一个1等于2,2等于3的条件,然后问2是否大于1,并期望它起作用

    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");
        }




}
    }
}

我来到这里是为了寻找同一个问题的答案,并在本例中使用了代码。最后出现了一个合乎逻辑的问题。第67行中的AND应为OR。你不能有一个1等于2,2等于3的条件,然后问2是否大于1,并期望它起作用

    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");
        }




}
    }
}

你的问题不是很清楚,你能详细说明一下吗提示是:11。赛跑写一个程序,询问三名赛跑者的名字以及他们完成一场比赛所用的时间(以分钟为单位)。程序应按跑步者完成的顺序显示跑步者的姓名。我必须使输出与我上面发布的完全相同,当我发布它时,我会得到一个逻辑错误。它说我的标准输出的内容不正确。没有逻辑错误吗?它完全按照它应该的方式输出。我也不知道,codelab一直告诉我我有一个逻辑错误。我唯一能告诉你的是打印格式不好。你有一些不需要空格的空格,特别是如果你只是移动到下一行。你的问题不是很清楚,你能详细说明一下吗提示是:11。赛跑写一个程序,询问三名赛跑者的名字以及他们完成一场比赛所用的时间(以分钟为单位)。程序应按跑步者完成的顺序显示跑步者的姓名。我必须使输出与我上面发布的完全相同,当我发布它时,我会得到一个逻辑错误。它说我的标准输出的内容不正确。没有逻辑错误吗?它完全按照它应该的方式输出。我也不知道,codelab一直告诉我我有一个逻辑错误。我唯一能告诉你的是打印格式不好。您有不需要空格的空格,特别是如果您只是移动到下一行。