java - 如何在java中非繁琐地打印出10行10个字符(或字符串)

标签 java

我正在完成一个用 Java 编写小程序的初学者练习。我的任务是打印出(即找到算法)以下输出

XOOOOOOOOO
XXOOOOOOOO
XXXOOOOOOO
XXXXOOOOOO
XXXXXOOOOO
XXXXXXOOOO
XXXXXXXOOO
XXXXXXXXOO
XXXXXXXXXO
XXXXXXXXXX

我已经想出了如何去做,但我写的代码似乎重复且乏味。我怎样才能缩短我的代码?一定有更简单的方法来实现这一目标吗?

这是我目前的代码;

package helloWorld;

public class HelloWorld {

public static void main(String[] args) 
{
    // Output


    // Algorithm 1

    boolean ft = true;

    String s = new String();
    for(int i = 0; i < 10; i++)
    {
        s  += "X";
        for(int j = 0; j < 9; j++)
        {
            if(i == 0)
            {

                s += "O";
            }

            if(i == 1)
            {

                if(ft == true)
                {
                    s+="X";
                    ft = false;
                }
                if(j == 8)
                {
                    continue;
                }
                s += "O";
            }

            if(i == 2)
            {

                if(ft == true)
                {
                    s+= "XX";
                    ft = false;

                }

                if(j == 7)
                {

                    break;
                }
                s += "O";

            }

            if(i == 3)
            {

                if(ft == true)
                {
                    s+= "XXX";
                    ft = false;

                }

                if(j == 6)
                {

                    break;
                }
                s += "O";
            }

            if( i == 4)
            {
                if(ft == true)
                {
                    s+= "XXXX";
                    ft = false;

                }

                if(j == 5)
                {

                    break;
                }
                s += "O";
            }

            if( i == 5)
            {
                if(ft == true)
                {
                    s+= "XXXXX";
                    ft = false;

                }

                if(j == 4)
                {

                    break;
                }
                s += "O";
            }

            if( i == 6)
            {
                if(ft == true)
                {
                    s+= "XXXXXX";
                    ft = false;

                }

                if(j == 3)
                {

                    break;
                }
                s += "O";
            }

            if( i == 7)
            {
                if(ft == true)
                {
                    s+= "XXXXXXX";
                    ft = false;

                }

                if(j == 2)
                {

                    break;
                }
                s += "O";
            }

            if( i == 8)
            {
                if(ft == true)
                {
                    s+= "XXXXXXXX";
                    ft = false;

                }

                if(j == 1)
                {

                    break;
                }
                s += "O";
            }

            if( i == 9)
            {
                if(ft == true)
                {
                    s+= "XXXXXXXXX";
                    ft = false;

                }

                if(j == 0)
                {

                    break;
                }
                s += "O";
            }


        }
        System.out.println(s);
        s = "";
        ft = true;

    }
}

}

最佳答案

只需使用 2 个嵌套循环:

String s;
for( int i = 0; i < 10; i++)
{
    s = "";
    for( int j = 0; j <= i; j++)
        s+= "X";
    for( int j = i+1; j < 10; j++)
        s+= "O";
    System.out.println(s);
}

关于java - 如何在java中非繁琐地打印出10行10个字符(或字符串),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39285014/

相关文章:

Java 泛型 - 具有 "extends"类型集合参数的方法拒绝有效参数?

java - 使用 JDK8 : 时,LogManager.getLogger 使应用程序停止约 10-30 秒

Java LocalDate 解析

java - Solr lucene schema.xml多值条目,请帮助

java - 根据字符串变量更改隐藏字段值

java - 处理错误 : x cannot be resolved or is not a field (java with the processing app)

java - 在 Tomcat 中运行的 Square Java SDK 无法找到 Jersey 通用类

java - Eclipse 在 ant build 上用完了堆空间

java - java中如何在字符串中填充空格?

java - java selenium 如何获取下一个元素的值