Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/379.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.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_Loops_Recursion - Fatal编程技术网

Java 平方三角形

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

所以我在这里会尽可能具体。我的实验室需要一个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[] 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("  "); 

    }






    }

}