繁体   English   中英

打印带有重复字符的字符串

[英]Print String with repeated characters

public class Envelope{
    public static int width = 80;
    public static int height = 10;
    public static int distance = 40;

    public static void main(String[] args) {


        for(int i =0; i < 1; i++) {
            System.out.print("+");

            for(int b = 2; b<=width;b++) {
                System.out.print("-");
            }
            for(int d =1; d<=1;d++) {
                System.out.println("+");

                for(int e=1; e<height; e++) {
                    System.out.print("|");
                }
            }
        }
            for(int a=1; a<height; a++) {
                System.out.println("|");
            }
                for(int c = 11; c < 12; c++) {
                    System.out.print("+");
                    for(int f = 0; f<width;f++) {
                        System.out.print("-");
                    }
                        for(int g=1;g<=1;g++) {
                            System.out.print("+");
                        }
                    }
                }

            }

我当前的 output 太长,所以我使用print()代替println() ) 只是为了显示我当前的 output。

+--------------------------------------------------------------------------------|||||||||+

所以我的问题是我怎样才能把这个符号“-”放在加号之后,但是这个“-”必须 go 80 次到右侧。

I want to do this...as an example

+-----------------------------------------------------------------------+
|                                                                       |
|                                                                       |
|                                                                       |
|                                                                       |
|                                                                       |
|                                                                       |
+-----------------------------------------------------------------------+ 

你试过了吗

System.out.println("-".repeat(80));

正如@WJS 在他的回答中提到的,如果您使用的是Java 11 ,这将很有用。 在这里,我提到了另一种可以使用Java <= 11的方式。

    System.out.println("+");
    // For **Java <= 7**
    System.out.println(String.format("%0" + 80 + "d", 0).replace("0", "-"));
    // For **Java >= 8**
    System.out.println(String.join("", Collections.nCopies(10, "|")));
    System.out.println("+");

注意:您可以根据需要对其进行格式化。

更新的答案
正如你提到的你所期望的 output 我做到了。 此外,您可以使用任何东西来做到这一点,但为了您的理解,我使用了一个简单的解决方案。

        System.out.print("+");
        System.out.print(String.format("%0" + 80 + "d", 0).replace("0", "-"));
        System.out.print("+");
        System.out.println();
        for (int i = 1; i <= 5; i++) {
            System.out.printf("%s", "|");
            System.out.printf("%81s", "|");
            System.out.println();
        }
        System.out.print("+");
        System.out.print(String.format("%0" + 80 + "d", 0).replace("0", "-"));
        System.out.print("+");

让我知道它是否对您有用。

System.out.println("-".repeat(80));
        for(int i =0; i < 1; i++) {
            System.out.println("+");
            for(int b =0; b<i;b++) {
                System.out.println("-".repeat(80));
            }
        }

我希望这个符号“-”与“+”在一行中,在这个“-”中又出现一个“+”:) 所以第一个问题是我怎样才能把这个“-”放在“+”旁边"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM