Java 如何从数组中打印随机字符串?

Java 如何从数组中打印随机字符串?,java,Java,我正在做一个用Java制作个人助理的项目。我试图在执行输入后从数组中打印一些字符串。例如,如果我输入Hi,那么程序会从这个数组中说出一些东西 ["Hello", "Hi", "What's up", "Hi There"]; 我编写了以下代码: public class project{ public static void main{ Scanner scanner = new Scanner(Syste

我正在做一个用Java制作个人助理的项目。我试图在执行输入后从数组中打印一些字符串。例如,如果我输入Hi,那么程序会从这个数组中说出一些东西

["Hello", "Hi", "What's up", "Hi There"];
我编写了以下代码:

public class project{
public static void main{
    Scanner scanner = new Scanner(System.in);
    Random random = new Random();
    String[] replies = {"Hello", "Hi", "What's up", "Hi There"};
    Boolean running = true;
    while (running){
        String command = scanner.nextLine();
    if (command == "exit"){
    running = false;
    } else if(command == "Hi"){
    int index = 
     random.nextInt(replies.length());
    System.out.print(reply [index]);
    command =scanner.nextLine();
            }
        }
    }
}

但这似乎不起作用,它只是无限延伸,没有显示任何内容。我需要怎么做才能解决这个问题?

请不要这样做。不要只是把你的代码,和家庭作业。。。然后让我们来找出你可能遇到的问题。在您的例子中,随机部分可能有效,但是使用==来比较字符串是完全错误的,这可能会导致您的循环永远不会退出。还要注意:布尔值和布尔值之间有很大的区别。别把它们弄混了。理解其中的区别!最后:下次写问题时,请阅读并遵循指导。您希望其他人花他们的空闲时间来帮助您,因此请您花所需的时间来写一个我们可以帮助解决的问题。您尝试过调试该问题吗?启动IDE的调试器来逐行运行应该不难,所以我应该使用.equals()吗