【问题标题】:Need help centering text output需要帮助居中文本输出
【发布时间】:2013-10-05 02:23:03
【问题描述】:
import java.util.Scanner;

public class diamond {
    public static void main (String[] args){

        Scanner scan = new Scanner(System.in);

        System.out.println("Please enter an integer");
        int lines = scan.nextInt();

        for(int counter = 1; counter <= lines; counter++)
        {   
            if (counter%2 != 0)
            {
                for(int count2 = 1; count2 <= counter; count2++){
                System.out.print("*");
                }
            System.out.println();
            }
        }
    }
}

我应该向用户询问行数并输出由星号组成的菱形,行数高。我需要一些帮助来弄清楚如何使星号居中。我知道字符串有一些 String.utils 方法或其他东西,但输出是基于 for 循环的,所以我认为这在这里不起作用。如果是这样,请务必告诉我。

【问题讨论】:

  • 您需要计算打印空格的位置 (" ") 和星号的位置。

标签: java text center output


【解决方案1】:

您需要在每行之前打印一定数量的空格。然后,你需要另一个 for 循环来做相反的事情。 试试这个代码:

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

    System.out.println("Please enter an integer ");
    int lines = scan.nextInt();

    for (int counter = 1; counter <= lines; counter++) {

        if (counter % 2 != 0) {
            for (int i = 0; i < lines - (counter / 2) - 3; i++) {
                System.out.print(" ");
            }
            for (int count2 = 1; count2 <= counter; count2++) {
                System.out.print("*");
            }
            System.out.println();
        }
    }
    for (int counter = lines - 1; counter >= 1; counter--) {

        if (counter % 2 != 0) {
            for (int i = 0; i < lines - (counter / 2) - 3; i++) {
                System.out.print(" ");
            }
            for (int count2 = 1; count2 <= counter; count2++) {
                System.out.print("*");
            }
            System.out.println();
        }
    }
}

【讨论】:

    【解决方案2】:

    我认为你应该准备一个字符串在每一行打印出来,然后你就会确切知道它有多少个字符,当行增加时,删除字符串中心的两个'*'并添加一个“”前面,然后再打印出来。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-10-23
      • 1970-01-01
      • 2013-09-27
      • 1970-01-01
      • 2019-01-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多