初学者Java程序?if、else、while循环

初学者Java程序?if、else、while循环,java,if-statement,while-loop,Java,If Statement,While Loop,我正在尝试创建一个程序,在这个程序中,用户想到一个介于1和10之间的数字,计算机会反复尝试通过猜测随机数来猜测它。在游戏结束时,可以多次猜同一个数字,程序会报告它猜了多少次。例如: 我编写了以下代码: import java.util.*; public class Pick { public static void main(String[] args){ System.out.println("This program has you, the user, choo

我正在尝试创建一个程序,在这个程序中,用户想到一个介于1和10之间的数字,计算机会反复尝试通过猜测随机数来猜测它。在游戏结束时,可以多次猜同一个数字,程序会报告它猜了多少次。例如:

我编写了以下代码:

import java.util.*;

public class Pick {
    public static void main(String[] args){
        System.out.println("This program has you, the user, choose a number");
        System.out.println("between 1 and 10. Then, I, the computer, will try");
        System.out.println("my best to guess it.");

        Scanner console = new Scanner(System.in);
        Random r = new Random();

        int result = -1;
        int count = 0;

        for (i = 1; i <= number; i++){
            while(result != number){
            result = r.nextInt(10) + 1;
            System.out.println("Is it " + r + "? (y/n)");
            String yn = console.next();
            if(String yn = "y"){
                System.out.println("I got your number of " + result + " in " + i + " guesses.");
            } else if (String yn = "n") {
                count++;

            } else {
                System.out.println("I got your number of " + result + " in " + i + " guesses.");
            }
        }
        System.out.println();
    }
}

您试图使用变量数at for i=1;一方面

if(String yn = "y") {

}
不是你认为的Java语言。字符串yn=y是赋值语句,不是比较语句。 要在Java中比较字符串,您需要使用字符串的equals方法

还有更多的语法问题和明显的编译器错误。我建议您在网上尝试一个入门Java的教程

String yn = console.next();
if(String yn = "y"){
你要申报两次。这是不允许的。只需使用yn,无需特别说明它又是一个字符串,您已经这样做了。 您使用的是Assignment运算符=,而不是比较运算符=。在任何情况下,Java中的字符串都不会使用==进行比较,而是使用equals方法ifn.equalsy进行比较


对于i=1;我这么说它不会编译?根据您的IDE,您可以单击红色的错误标记,它会提示您我没有使用IDE。我想先学会自己找出错误。@flyingseasws这就是IDE帮助初学者做的事情。你不能不爬行就走。我没有使用IDE。我想先学会自己找出错误,然后你自己找到他们,为什么你在这里问,没有更多的信息要求。有人关闭这作为一个副本!哦,好的,我把它改成了字符串yn==y,行吗?哦,我把它改成了字符串。equals@mmcrae我认为他投了反对票,因为你不给他机会ansswer@mmcraeLOL不,我读错了评论我没有否决任何人的回答因为你我和JGrice正在回答一个充满希望的问题,一个如此令人担忧的问题,我们可能不应该回答它。我不明白这个问题是怎么错的。它有小代码,问题是合法的,现在它还包括编译错误。我不知道为什么我会被否决:这是一个合法的问题,我是一个初学者,我实际上尝试过…@flyingseashows他们是从一个不太好的问题改进过来的。但是蓝色和巨大的文本很烦人,请修复。我修复了字符串yn错误,我应该如何声明数字?
String yn = console.next();
if(String yn = "y"){