如何打印一定数量的char?

时间:2016-01-21 18:28:37

标签: java

我正在尝试创建带有用户输入数字的代码,并将其存储为int。然后我打印出' int'行数,' int' ' char'在他们每个人。所以说例如,输入的数字是3,然后输出

XXX
XXX
XXX

但是,当我尝试这样做时,它只是给出了它计算的ASCII数*输入数字的数字。这是我目前的代码:

public static void main(String[] args) {
    Scanner kb = new Scanner (System.in);
    System.out.println("Please enter a number:");
    int number = kb.nextInt();
    kb.close();
    char letter = 'X';
    int sqnumber = number * number;
    for (int i = 0; i < number; i++) {
            System.out.println (letter * number);
    }
}

然而,这只是给了我:

Please enter a number:
3
264
264
264

5 个答案:

答案 0 :(得分:0)

嵌套循环:

for (int i = 0; i < number; i++) {
    for (int j = 0; j < number; j++) {
        System.out.print(letter + "");
    }
    System.out.println();
}

答案 1 :(得分:0)

char是Java中的一个完整类型。所以你每次将'X'的ASCII值乘以3。编辑你的循环 -

    for (int i = 0; i < number; i++) {
        for (int j = 0; j < number; j++) {
            System.out.print(letter);
        }
        System.out.println();
    }

答案 2 :(得分:0)

为了获得最佳性能,您可能需要以下内容:

TcpInboundGateway

答案 3 :(得分:0)

String对象中有repeat()方法(在Java 11中显示)。示例:

System.out.print("XXX\n".repeat(4));

答案 4 :(得分:-1)

您需要嵌套for循环,并且没有正确使用char X

试试这个

public static void main(String[] args) {
        Scanner kb = new Scanner(System.in);
        System.out.println("Please enter a number:");
        int number = kb.nextInt();
        kb.close();
        char letter = 'X';
        int sqnumber = number * number;
        for (int i = 0; i < number; i++) {
            for (int j = 0; j < number; j++) {
                System.out.print(letter);
            }
            System.out.println();
        }
    }

输出

Please enter a number:
4
XXXX
XXXX
XXXX
XXXX