public class Test2{
public static void mystery(int x, int y, boolean b, String s) {
System.out.println(x*3 + "..." + x/y);
if (b)
System.out.println("yes");
else
System.out.println("no");
for (int i = 2; i <= 5; i++)
System.out.print(2*i);
System.out.println();
System.out.println((double)(y/x));
System.out.println(s.substring(3,7));
} // end mystery
public static void main(String[] args){
mystery(7,3,true,"freezing");
}
}
我有点困惑,我想我错过了一些东西。为什么这个代码中for循环的输出是46810?每个数字之间不应该有一条线吗?
由于
答案 0 :(得分:2)
在我看来,你希望你的循环看起来像这样:
for (int i = 2; i <= 5; i++)
System.out.print(2*i);
System.out.println();
但for
仅适用于第一个语句。要在循环中包含多个语句,需要将循环体括在花括号中:
for (int i = 2; i <= 5; i++) {
System.out.print(2*i);
System.out.println();
}
在编写for
循环时总是使用花括号,以及while
,do
,if
和else
,即使该语言允许你只有一个没有花括号的语句的主体。例如:
if (b) {
System.out.println("yes");
} else {
System.out.println("no");
}
答案 1 :(得分:1)
不在System.out.print(2 * i);
。对于输出,您似乎期望将其更改为,
System.out.println(2 * i);
或在for
循环中添加大括号,
for (int i = 2; i <= 5; i++){
System.out.print(2*i);
System.out.println();
}
Java循环不受缩进控制,你需要大括号来包含多行。
答案 2 :(得分:1)
试试这个:
for (int i = 2; i <= 5; i++)
{
System.out.print(2*i);
System.out.println();
System.out.println((double)(y/x));
System.out.println(s.substring(3,7));
}
当您使用for
循环时,建议将代码放在花括号{}
中。
答案 3 :(得分:0)
for循环逻辑必须包含在{}