我正在尝试自学Java,并且正在学习for loops
。 我正在尝试编写一个简短的程序,它为我提供了以下输出:
1
1 4
1 4 9
1 4 9 25
我有一种感觉,我在指数部分被绊倒了。 我的源代码如下:
public class Forloop {
public static void main(String[] args) {
for (int i = 1; i <= 4; i++) {
for (int j = 1; j <= i; j++) {
System.out.print(int j = Math.pow(j,i));
}
System.out.println();
}
}
}
任何人都可以为我提供任何帮助,说明我哪里出错了,也许还有解决方法。 非常感谢。
打印语句中不能有变量声明。就这样写:
public static void main(final String[] args) {
for (int i = 1; i <= 4; i++) {
for (int j = 1; j <= i; j++) {
System.out.print(Math.pow(j, i));
}
System.out.println();
}
}
另一种方法是将声明写在自己的行上。不过,您必须将其命名为j
以外的名称,因为您已经声明了该变量:
public static void main(final String[] args) {
for (int i = 1; i <= 4; i++) {
for (int j = 1; j <= i; j++) {
int exp = (int) Math.pow(j, i);
System.out.print(exp);
}
System.out.println();
}
}
此外,正如@JigarJoshi指出的那样,您不需要Math.pow()
方法来实现输出,因为您正在输出正方形。这将完成您的目标:
public static void main(final String[] args) {
for (int i = 1; i <= 4; i++) {
for (int j = 1; j <= i; j++) {
System.out.print(j * j + " ");
}
System.out.println();
}
}
你可以这样做
public static void main(String[] args) {
for (int i = 1; i <= 5; i++) {
for (int j = 1; j <= i; j++) {
System.out.print((int) Math.pow(j, 2));
System.out.print(" ");
}
System.out.println();
}
}
哪些输出
1
1 4
1 4 9
1 4 9 16
1 4 9 16 25
正如 Keppil 所说,你不能在打印语句中使用变量声明。 但是,您可以在语句中初始化变量。
public static void main(final String[] args) {
int j2;
for (int i = 1; i <= 4; i++) {
for (int j = 1; j <= i; j++) {
System.out.print(j2 = (int) Math.pow(j, i));
}
System.out.println();
}
}
你不能在System.out.print
里面做int j = Math.pow(j,i)
。你的逻辑是什么? 您可以简单地按System.out.print(Math.pow(j,i))
打印;