java中的嵌套循环

java中的嵌套循环,java,nested-loops,Java,Nested Loops,我试着画一条对角线,应该是这样的: * * * * * * * * * 我必须使用嵌套循环,我正在使用一个名为Java ready to program的程序,该程序使用Java。 这是我的代码,虽然很接近,但我似乎不知道如何使它成为对角线 // The "E006" class. import java.awt.*; import hsa.Console; public class E006 { static

我试着画一条对角线,应该是这样的:

*
 *
  *
   *
    *
     *
      *
       *
        *
我必须使用嵌套循环,我正在使用一个名为Java ready to program的程序,该程序使用Java。 这是我的代码,虽然很接近,但我似乎不知道如何使它成为对角线

// The "E006" class.
import java.awt.*;
import hsa.Console;

public class E006
{
    static Console c;           // The output console

    public static void main (String[] args)
    {
        c = new Console ();
        int i, j;
        for(i = 1; i <= 1; i++)
            for(j = 1; j < 10; j++)
                c.println("*");

    } // main method
} // E006 class
//“E006”类。
导入java.awt.*;
导入hsa.Console;
公共级E006
{
静态控制台c;//输出控制台
公共静态void main(字符串[]args)
{
c=新控制台();
int i,j;

对于(i=1;i我认为这是您想要的(未经测试):

//“E006”类。
导入java.awt.*;
导入hsa.Console;
公共级E006
{
静态控制台c;//输出控制台
公共静态void main(字符串[]args)
{
c=新控制台();
int i,j;
对于(i=0;i<10;i++){
对于(j=0;j
为什么它(应该)工作?在第一个循环(i=0)中,它循环0次打印空格,然后添加一个带换行符的星号(println在末尾添加一个换行符)。下一个循环,它在星号之前打印一个空格,下一个打印2,以此类推


p、 这是作业吗?你应该标记它。

第一个循环应该检查你要打印的*行项目的数量。第二个内部循环应该在打印星号之前打印空白。我真的看不到嵌套循环的用途。但是如果你必须使用它们:

for (int i = 0; i < lineSegments; i++) { 
   int whitespaces = 0;
   for (int j = 0; j < whiteSpaces; j++)
       Console.print(" ");
   Console.print("*\n");
   whitespaces++;
   Console.flush();
}
for(int i=0;i
公共类Hehh{
公共静态void main(字符串[]args){
int i,j;
对于(i=0;i<9;i++){

对于(j=0;j这听起来像是学校布置的作业,所以我不打算为您解答。以下是一些提示:

  • 您需要打印空格,而不仅仅是星号
  • 您需要在每行打印更多的空格
  • 您的第一个for循环只执行一次,发生一次的循环有什么好处
  • 您的代码将更易于阅读,缩进效果更好。在for循环周围使用括号,即使它们不是必需的

inti,j;

对于(i=1;i您只需要使用适当的循环结构。比较部分很好,只需将迭代器向下移动到0开始,因为这对于这个问题更为自然

你也应该在进行过程中构建字符串

// The "E006" class.
import java.awt.*;
import hsa.Console;

public class E006
{
    static Console c;           // The output console

    public static void main (String[] args)
    {
    c = new Console ();
    final int NUM_ROWS = 10 // set this for number of rows
    int i, j;
    for(i = 0; i < NUM_ROWS; i++) {
        String thisLine = "";
        for(j = ; j < i; j++) {
            thisLine += " ";
        } // inner loop
        thisLine += "*";
        c.println(thisLine);
    } // outer loop

    } // main method
} // E006 class
//“E006”类。
导入java.awt.*;
导入hsa.Console;
公共级E006
{
静态控制台c;//输出控制台
公共静态void main(字符串[]args)
{
c=新控制台();
final int NUM_ROWS=10//为行数设置此值
int i,j;
对于(i=0;i
你的代码不是javascript,而是java。如果我们帮你解决了练习,你觉得你会学到什么吗?嘿,非常感谢这对我的帮助。我终于可以继续使用java了。很高兴它起到了作用。对于投反对票的人:为什么?这个答案没有错(除非Console的行为与问题中使用的不一样,但这是无关的)您应该始终避免检查循环中的特定迭代。这会减慢整个循环的速度,并使其更难维护。
public class Hehh{
    public static void main(String[] args){
    int i, j;
        for(i = 0; i < 9; i++){
        for(j = 0; j <= i; j++){
                if(j == i) System.out.println("*");
                else System.out.print(" ");
            }
    }
    }
}
int i, j;
for(i = 1; i <= 1; i++){
    for(j = 1; j < 10; j++){
        c.println("*");
    }
 }
// The "E006" class.
import java.awt.*;
import hsa.Console;

public class E006
{
    static Console c;           // The output console

    public static void main (String[] args)
    {
    c = new Console ();
    final int NUM_ROWS = 10 // set this for number of rows
    int i, j;
    for(i = 0; i < NUM_ROWS; i++) {
        String thisLine = "";
        for(j = ; j < i; j++) {
            thisLine += " ";
        } // inner loop
        thisLine += "*";
        c.println(thisLine);
    } // outer loop

    } // main method
} // E006 class