0

x我必须编写一个程序,该程序接受两个输入的字符并使用一种方法将它们打印出来。到目前为止,它将输出数字而不是字符。我该如何解决?

int length;
char ch1;
char ch2;

System.out.print("Enter a character: ");
ch1 = input.nextLine().charAt(0); //input refers to scanner.
System.out.print("Enter second character: ");
ch2 = input.nextLine().charAt(0); //input refers to scanner.
System.out.print("Enter the length of the line: ");
length = input.nextInt(); //input refers to how many times the characters ar$
draw_line(length, ch1, ch2);

//Method starts here.

public static void draw_line(int length, char ch1, char ch2){
    for (int i = 0; i < length; ++i){
        System.out.print(ch1 + ch2);
    }
}
4

2 回答 2

1

这是因为添加字符不是串联。请看这个问题:在Java中,两个字符相加的结果是int还是char?

你想要的是一个包含两个字符的字符串,可能最短的编辑是:

System.out.print("" + ch1 + ch2);
于 2013-04-17T23:58:13.207 回答
1

将 char 传递给以将Character.toString(char)其转换为String.

System.out.print(Character.toString(ch1) + Character.toString(ch2));
于 2013-04-17T23:58:16.403 回答