Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/400.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 如何使用嵌套for循环?_Java - Fatal编程技术网

Java 如何使用嵌套for循环?

Java 如何使用嵌套for循环?,java,Java,这是我的密码 public static void main (String[] args) { Scanner keyboard = new Scanner (System.in); int tri, a; int b; System.out.println("Enter the size you want your triangle to be:"); tri = keyboard.nextInt(); for (a =

这是我的密码

public static void main (String[] args)
{
    Scanner keyboard = new Scanner (System.in);

    int tri,  a;
    int b;

    System.out.println("Enter the size you want your triangle to be:");

    tri = keyboard.nextInt();      

    for (a = 1; a <= tri; a++)
    {
        for (b = 1; b <= a; b++)
        {
            System.out.print("*");
        }

    }
}
publicstaticvoidmain(字符串[]args)
{
扫描仪键盘=新扫描仪(System.in);
int-tri,a;
int b;
System.out.println(“输入三角形的大小:”);
tri=键盘.nextInt();

对于(a=1;a而言,每次访问外部环路时都需要执行此操作:

system.out.println();

这允许*位于不同的行上,并且此代码仅处理三角形的上半部分。为了处理下半部分,必须从tri开始倒计时。

每次访问外部循环时都需要这样做:

system.out.println();

这允许*位于不同的行上,而且此代码只处理三角形的上半部分。为了处理下半部分,您必须从tri开始倒数。

您需要对代码进行两个更改。首先,您需要在外循环的每次迭代中结束该行。其次,您需要处理三角形的下半部分。下面是实现这两种功能的代码:

public static void main (String[] args)
{
    Scanner keyboard = new Scanner (System.in);

    int tri,  a;
    int b;

    System.out.println("Enter the size you want your triangle to be:");

    tri = keyboard.nextInt();      

    for (a = 1; a <= tri; a++)
    {
        for (b = 1; b <= a; b++)
        {
            System.out.print("*");
        }
        // this next call ends the current line
        System.out.println();
    }
    // now for the bottom of the triangle:
    for (a = tri - 1; a >= 1; a--) {
        for (b = 1; b <= a; b++)
        {
            System.out.print("*");
        }
        System.out.println();
    }
}
publicstaticvoidmain(字符串[]args)
{
扫描仪键盘=新扫描仪(System.in);
int-tri,a;
int b;
System.out.println(“输入三角形的大小:”);
tri=键盘.nextInt();

对于(a=1;a,您需要对代码进行两次更改。首先,您需要在外部循环的每次迭代中结束该行。其次,您需要完成三角形的底部部分。下面是同时完成这两项操作的代码:

public static void main (String[] args)
{
    Scanner keyboard = new Scanner (System.in);

    int tri,  a;
    int b;

    System.out.println("Enter the size you want your triangle to be:");

    tri = keyboard.nextInt();      

    for (a = 1; a <= tri; a++)
    {
        for (b = 1; b <= a; b++)
        {
            System.out.print("*");
        }
        // this next call ends the current line
        System.out.println();
    }
    // now for the bottom of the triangle:
    for (a = tri - 1; a >= 1; a--) {
        for (b = 1; b <= a; b++)
        {
            System.out.print("*");
        }
        System.out.println();
    }
}
publicstaticvoidmain(字符串[]args)
{
扫描仪键盘=新扫描仪(System.in);
int-tri,a;
int b;
System.out.println(“输入三角形的大小:”);
tri=键盘.nextInt();

对于(a=1;a
System.out.print
打印当前输出缓冲区(即控制台)中的所有内容。必须使用
System.out.println
(注意
ln
后缀)打印内容和换行符。

System.out.print
打印当前输出缓冲区(即控制台)中的所有内容。必须使用
System.out.println
(注意
ln
后缀)打印内容和换行符。

或仅一个循环:

int x = 3; // input tri
var y = x*2;

for (int i = 0; i < y; ++i) {
    for (int j = 0; j < (i < x ? i : y-i); ++j) {
        System.out.print("*");
    }
    System.out.println();
}
int x=3;//输入tri
变量y=x*2;
对于(int i=0;i
或仅一个循环:

int x = 3; // input tri
var y = x*2;

for (int i = 0; i < y; ++i) {
    for (int j = 0; j < (i < x ? i : y-i); ++j) {
        System.out.print("*");
    }
    System.out.println();
}
int x=3;//输入tri
变量y=x*2;
对于(int i=0;i
这是以前提出的问题。这可以通过递归方法完成。您需要使用
System.out.println()告诉计算机何时应该转到下一行;
在您的代码中的某个地方。@huseyintugrulbuyukisik当然可以。但是,问题是如何使用嵌套for循环。@huseyintugrulbuyukisik我在这个问题中找不到任何与递归相关的内容,看起来非常具体:使用嵌套循环。这是以前提出的问题。这可以通过递归方法完成。您需要告诉计算机r使用
System.out.println()转到下一行的时间
在代码中的某个地方。@huseyintugrulbuyukisik当然可以。但是,问题是如何使用嵌套for循环。@huseyintugrulbuyukisik我在这个问题中找不到任何与递归相关的内容,看起来非常具体:使用嵌套循环。这为OP的问题提供了完整的解决方案,因此确实是一个解决方案。我认为这是一个练习,OP在使用
System.out.print
System.out.println
时遇到问题,然后离开OP继续处理这个新的t̶o̶y̶方法。谢谢,但这到底是做什么的System.out.println();我的意思是,程序如何知道将1*放在第一行,2*放在第二行,依此类推。我只是很难理解它背后的思想过程。@xpression-它开始了一行新的内容。(将其视为打印一行空行,除非先前调用
System.out.print()
)时可能已经有内容在这行了)
System.out.println()
(又称sopl)与
System.out.print()
非常相似,但它在输出的末尾添加了一行新行。它与键入
System.out.print(myString+'\n'非常相似
循环的最后一个,为什么是b=1和b++。它不应该是b——这给出了OP问题的完整解决方案,所以确实是一个解决方案。我认为这是一个练习,OP在使用
System.out.print
System.out.println
时遇到了问题,然后离开OP继续处理这个新的t̶o̶y̶方法。谢谢我的意思是程序如何知道将1*放在第一行,2*放在第二行,依此类推。我只是很难理解它背后的思想过程。@xpression-它开始了一个新的行。(可以将其视为打印一个空行,除了先前调用
System.out.print()
)的行中可能已经有内容之外)
System.out.println()
(也称为sopl)与
System.out.print()
非常相似,但它在输出的末尾添加了一行新行。它与键入
System.out.print()非常相似(myString+'\n');
最后一个for循环,为什么是b=1和b++。它不应该是b吗--