public static void main (String args[])
{
String c = "Message";
int width;
int height;
char character;
Scanner sc = new Scanner(System.in);
System.out.println("Enter the character : ");
character = sc.next().charAt(0);
System.out.println("Enter your width: ");
width=sc.nextInt();
System.out.println("Enter your height: ");
height=sc.nextInt();
System.out.println();
for (int i = 0; i < height; i++) {
for (int j = 0; j < width; j++) {
if (i == 0 || i == height-1) {
System.out.print(character);
} else if (j ==width-1) {
String middle = character + " " + c + " " + character;
System.out.print(middle);
}
}
System.out.println();
}
}
}
我正在尝试在矩形中显示MESSAGE。另外,有没有办法可以将我的矩形移动到屏幕中央?
答案 0 :(得分:1)
那个代码会做你的伎俩,但请注意这是丑陋的。 首先,您将获取整个用户输入行而不是第一个字符。
public static void main(String args[]) {
String c = "Message";
char character;
Scanner sc = new Scanner(System.in);
System.out.println("Enter the character : ");
character = sc.next().charAt(0);
System.out.println();
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 13; j++) {
if (i == 0 || i == 2) {
System.out.print(character);
} else if (j == 0) {
String middle = character + " " + c + " " + character;
System.out.print(middle);
}
}
System.out.println();
}
}
输出:
aaaaaaaaaaaaa
a Message a
aaaaaaaaaaaaa
答案 1 :(得分:0)
不要使用[for循环],Apache Commons Lang3中的StringUtils类可以帮助你重复String。
请参阅:
有3种方法:
(1)静态字符串重复(char ch,int repeat)
使用重复到指定长度的指定分隔符返回填充。
(2)static String repeat(String str,int repeat)
重复String重复次数以形成新的String。
(3)static String repeat(String str,String separator,int repeat)
重复一次String重复次数以形成一个新的String,每次都注入一个String分隔符。