Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我无法解决的多个Java错误_Java - Fatal编程技术网

我无法解决的多个Java错误

我无法解决的多个Java错误,java,Java,我的任务要求我针对不同的用户输入打印不同的响应,并且我收到多个错误,当我尝试建议的内容时,我会收到更多错误,这些错误会将代码恢复到其原始状态 我的代码: public static void main(String[] args) {String name; int love; Scanner scanIn = new Scanner(System.in); System.out.println("How much love do you need?"); love = scanIn.

我的任务要求我针对不同的用户输入打印不同的响应,并且我收到多个错误,当我尝试建议的内容时,我会收到更多错误,这些错误会将代码恢复到其原始状态

我的代码:

    public static void main(String[] args) {String name;
int love;
Scanner scanIn = new Scanner(System.in);

System.out.println("How much love do you need?");
love = scanIn.nextLine();
for (love = 0; love < 0;)
    System.out.println("Everybody needs some love!");

for (love > 10);
    System.out.println("You cannot handle that much love!");

for (love > 0; love < 10;)
    System.out.println("I love you "
        + Integer.toString(love+ " ways"));
scanIn.close();

}
publicstaticvoidmain(String[]args){String name;
内在的爱;
Scanner scanIn=新扫描仪(System.in);
System.out.println(“你需要多少爱?”);
love=scanIn.nextLine();
因为(爱=0;爱<0;)
System.out.println(“每个人都需要爱!”);
爱(爱>10);
System.out.println(“你不能处理那么多的爱!”);
因为(爱>0;爱<10;)
System.out.println(“我爱你”
+整数。toString(爱+方式);
scanIn.close();
}
}

原始错误:

HelloMePoem.java:32: error: ';' expected
    for (love = 0; love < 0);
                           ^
HelloMePoem.java:35: error: not a statement
    for (love > 10);
              ^
HelloMePoem.java:36: error: ')' expected
            System.out.println("You cannot handle that much love!");
                                                                   ^
HelloMePoem.java:38: error: not a statement
    for (love > 0; love < 10);
              ^
HelloMePoem.java:38: error: ';' expected
    for (love > 0; love < 10);
                            ^
HelloMePoem.java:32:error:';'预期
因为(爱=0;爱<0);
^
java:35:错误:不是语句
爱(爱>10);
^
java:36:错误:“)”应为
System.out.println(“你不能处理那么多的爱!”);
^
java:38:错误:不是语句
因为(爱>0;爱<10);
^
java:38:error:';'预期
因为(爱>0;爱<10);
^
在修复大多数错误后(仍然不确定如何解决“nota statement”错误)。我收到以下错误:

HelloMePoem.java:35: error: not a statement
    for (love > 10);
              ^
HelloMePoem.java:35: error: ';' expected
    for (love > 10);
                  ^
HelloMePoem.java:36: error: ')' expected
            System.out.println("You cannot handle that much love!");
                                                                   ^
HelloMePoem.java:38: error: not a statement
    for (love > 0; love < 10;)
              ^
HelloMePoem.java:35:错误:不是语句
爱(爱>10);
^
java:35:error:“;”预期
爱(爱>10);
^
java:36:错误:“)”应为
System.out.println(“你不能处理那么多的爱!”);
^
java:38:错误:不是语句
因为(爱>0;爱<10;)
^
请注意:这是我第一次使用Java,我几乎不知道自己在做什么。首先,我强烈建议阅读一篇关于Java中循环如何工作的文章(特别是在Java上);我认为,一旦你这样做,你会很快看到这里的问题

循环的语法
不正确

正确的语法如下所示:

for (int i = 0; i < 10; i++) {
    // Code
}
根本没有意义


还有,你有一个
意味着
for
循环不会做任何事情(即使您的语法正确)。这是一个完美的例子,说明了为什么应该对代码块使用
{
}

对于java中的循环,有一种特定的格式

对于(初始化;终止;增量){
声明
}

以上3个参数是可选的,可以保留为空。但是,尽管它们是可选的,但您必须遵循编写for循环的格式。 因此,如果所有参数都为空,则for循环将如下所示:

for ( ; ; ) {
    // your code goes here (b.t.w this is an infinite loop)
}
代码中的问题是for循环格式和使用Integer#toString()的方式
我已在下面修改了您的代码:

public static void main(String[] args) {

    String name;
    int love;
    Scanner scanIn = new Scanner(System.in);

    System.out.println("How much love do you need?");

    //Scanner has nextInt() which allows you to read integers without you having to convert the type.
    love = scanIn.nextInt();
    for (love = 0; love < 0;)
        System.out.println("Everybody needs some love!");

    for (;love > 10;)
        System.out.println("You cannot handle that much love!");

    for (; love > 0 && love < 10;)
        //no need to use Integer.toString(). Just pass the variable and it will be printed.
        System.out.println("I love you " + love + " ways");

    scanIn.close();

}
publicstaticvoidmain(字符串[]args){
字符串名;
内在的爱;
Scanner scanIn=新扫描仪(System.in);
System.out.println(“你需要多少爱?”);
//Scanner具有nextInt(),允许您读取整数,而无需转换类型。
love=scanIn.nextInt();
因为(爱=0;爱<0;)
System.out.println(“每个人都需要爱!”);
对于(;爱情>10;)
System.out.println(“你不能处理那么多的爱!”);
对于(;爱>0&&love<10;)
//不需要使用Integer.toString()。只需传递变量,它就会被打印出来。
System.out.println(“我爱你”+爱+方式”);
scanIn.close();
}

JavaDocs参考:

下面是一些帮助您理解语法的代码。我尝试了一些东西(比如你需要for循环还是if语句)

public static void main(String[] args) 
{
    String name;
    int love;

    Scanner scanIn = new Scanner(System.in);

    System.out.println("How much love do you need?");

    love = scanIn.nextInt();

    for (int i = 1; i <= love; i++)
    {
        System.out.println("Everybody needs some love!");
    }

    if (love > 10)
    {
        System.out.println("You cannot handle that much love!");
    }

    for (int i = 1; i <= love; i++)
    {
        System.out.println("I love you "
            + love + " ways");
    }

    scanIn.close();

}
publicstaticvoidmain(字符串[]args)
{
字符串名;
内在的爱;
Scanner scanIn=新扫描仪(System.in);
System.out.println(“你需要多少爱?”);
love=scanIn.nextInt();
对于(int i=1;i 10)
{
System.out.println(“你不能处理那么多的爱!”);
}

对于(int i=1;我是不是很难用谷歌搜索
for
循环和
if
条件语句的基本java语法?我投票将这个问题作为主题外的问题来结束,因为这些问题可以通过阅读简单的java教程来解决。简短(但不完整)答案-
for
用于反复运行代码块。
if
用于一次或根本不运行代码块。我认为每次为
编写
for
时,您的意思是编写
if
。您可能还需要运算符
|
(表示或)和
&
(表示和).等等-你评论说你投票结束了这个问题,这意味着你认为人们不应该被允许回答它。然而,不到三分钟后,你就来了!是哪一个?或者你认为你应该是唯一被允许提供答案的人吗?这个程序总是什么都不打印。可能不是OP想要的。Agreed.因为每次love都会被赋值0,但代码是用来解决格式问题的。虽然这基本上是正确的,而且它确实回答了这个问题,但我建议@rburrus不要把它一字不差地复制为您的答案-您的赋值不会得到高分!这是for循环如何工作的一个很好的解释,但可能不会包括你的作业计划让你练习的所有要素。
public static void main(String[] args) {

    String name;
    int love;
    Scanner scanIn = new Scanner(System.in);

    System.out.println("How much love do you need?");

    //Scanner has nextInt() which allows you to read integers without you having to convert the type.
    love = scanIn.nextInt();
    for (love = 0; love < 0;)
        System.out.println("Everybody needs some love!");

    for (;love > 10;)
        System.out.println("You cannot handle that much love!");

    for (; love > 0 && love < 10;)
        //no need to use Integer.toString(). Just pass the variable and it will be printed.
        System.out.println("I love you " + love + " ways");

    scanIn.close();

}
public static void main(String[] args) 
{
    String name;
    int love;

    Scanner scanIn = new Scanner(System.in);

    System.out.println("How much love do you need?");

    love = scanIn.nextInt();

    for (int i = 1; i <= love; i++)
    {
        System.out.println("Everybody needs some love!");
    }

    if (love > 10)
    {
        System.out.println("You cannot handle that much love!");
    }

    for (int i = 1; i <= love; i++)
    {
        System.out.println("I love you "
            + love + " ways");
    }

    scanIn.close();

}