Java 平方三角形
所以我在这里会尽可能具体。我的实验室需要一个java控制台应用程序,用户可以在其中输入1到9之间的任何数字。然后,计算机将打印每个数字平方的三角形,三角形必须在屏幕右侧对齐。以下是一个例子:Java 平方三角形,java,loops,recursion,Java,Loops,Recursion,所以我在这里会尽可能具体。我的实验室需要一个java控制台应用程序,用户可以在其中输入1到9之间的任何数字。然后,计算机将打印每个数字平方的三角形,三角形必须在屏幕右侧对齐。以下是一个例子: 1 4 1 9 4 1 16 9 4 1. 以下是我迄今为止的代码: import java.util.Scanner; public class Triangle { public static void main(String[] ar
1
4 1
9 4 1
16 9 4 1.
以下是我迄今为止的代码:
import java.util.Scanner;
public class Triangle {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("Please enter a number between 1 and 9 inclusive:");
int n = input.nextInt();
for (int i = 1 ; i <=n; i++) {
for (int j = n-i; j >=1; j--) {
System.out.print(" ");
}
for (int k = i; k <=i; k++ ) {
System.out.print(" " + i * i);
}
System.out.println(" ");
}
}
}
我这里的问题是,我可以在每一行上重复每个数字并完全填充三角形,但我不知道如何在不写一百万个嵌套循环的情况下打印每个先前计数的sqrt。
如果我能得到任何帮助,我将不胜感激。问题在于第二个循环的循环限制
for (int k = i; k <=i; k++ ) {
for(int k=i;k i。在“标准”增量下只能执行一次。您需要将k运行到行尾:
for (int k = i; k <=n; k++ ) {
for(int k=i;k只需稍微调整第二个内循环(更改为bold):
对于(int k=i;k=1;k--){
系统输出。printf(“%2d”,k*k);
}
缩进的第一个内部循环运行n-i
次,因此第二个内部循环必须执行其余的操作:i..1
您必须打印内部循环变量k
的平方,而不是外部循环变量i
(在内部循环中不会改变).在外循环之前,我必须调整并添加几个增量变量,在外循环中,还要从总计数中减去内循环每个周期的增量
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("Please enter a number between 1 and 9 inclusive:");
int n = input.nextInt();
int num = 0, temp = 0;
for (int i = 1 ; i <=n; i++) {
int l = 0;
num++;
temp = num * num;
for (int j = n-i; j >=1; j--) {
System.out.print(" ");
}
for (int k = 1; k <=i; k++ ) {
System.out.print(" " + temp);
l++;
temp = i -l;
temp = (int)Math.pow(temp, 2);
}
System.out.println(" ");
}
}
}
publicstaticvoidmain(字符串[]args){
扫描仪输入=新扫描仪(System.in);
System.out.println(“请输入一个介于1和9之间的数字:”);
int n=input.nextInt();
int num=0,temp=0;
对于(int i=1;i=1;j--){
系统输出打印(“”);
}
对于(int k=1;k
for (int k = i; k >= 1; k--) {
System.out.printf(" %2d", k * k);
}
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("Please enter a number between 1 and 9 inclusive:");
int n = input.nextInt();
int num = 0, temp = 0;
for (int i = 1 ; i <=n; i++) {
int l = 0;
num++;
temp = num * num;
for (int j = n-i; j >=1; j--) {
System.out.print(" ");
}
for (int k = 1; k <=i; k++ ) {
System.out.print(" " + temp);
l++;
temp = i -l;
temp = (int)Math.pow(temp, 2);
}
System.out.println(" ");
}
}
}