我在解决问题时遇到了多个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.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();
}
}
原来的错误:
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: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;)
^
刚一说明:这是使用Java和我几乎不知道我在做什么
for循环中的java具有特定的格式,其是
为(初始化;终止;增量){
语句(多个)
}
以上3个参数是可选的,并且可以保持空白。但是,虽然它们是可选的,但必须遵循写入for循环的格式。 所以,如果你的参数是空白的for循环看起来像这样:
for (; ;) {
// your code goes here (b.t.w this is an infinite loop)
}
在你的代码的问题是在for循环的格式和方式,您使用整数#的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();
}
的JavaDoc参考:For-loop
该程序始终不打印任何内容。可能不是OP的想法。 –
同意。因为每次爱都会得到值0分配 但提供的代码是为了解决格式问题。 –
虽然这大多是正确的,但它确实回答了这个问题,我建议@rburrus不要将它逐字复制作为答案 - 您的任务不会得到高分!这是关于循环如何工作的一个很好的解释,但可能并不包括您的任务打算供您练习的所有元素。 – DaveyDaveDave
首先我第一次,我强烈建议对如何循环读取tutorial Java的作品(特别是在how the for
loop works);我认为,一旦你这样做,你会很快看到问题。
您的语法for
循环不正确。
正确的语法是类似以下内容:
for (int i = 0; i < 10; i++) {
// Code
}
例如,
for (love = 0; love < 0;)
你有没有详细说明如何在love
变量实际上应该进行修改。此外,love = 0; love < 0;
是平凡的错误。
看起来好像你可能混合了for
和while
循环。例如,
for (love > 10);
从根本上说是没有意义的。
此外,您在;
之后的事实意味着for
循环不会执行任何操作(即使您的语法正确)。这是您为什么应该使用{
和}
代码块的完美例证。
挂上 - 你评论说你投票结束了这个问题,这意味着你认为人们不应该被允许回答。然而,不到三分钟后,在这里!这是什么?或者你认为你应该是唯一被允许提供答案的人吗? –
下面只是一些代码,以帮助你找出信达X。我花了一些东西(比如你需要一个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();
}
对于'for'循环和'if'条件,谷歌的基本java语法太难了陈述? –
https://docs.oracle.com/javase/tutorial/java/nutsandbolts/for.html –
https://docs.oracle.com/javase/tutorial/java/nutsandbolts/if.html –