看《java软件开发》书第三章有一道挑战题,思虑半天不解,望各位朋友高手帮助。
要求如下:
编写方法显示如下的H,L,E,用此方法编写程序,以显示如下排列的大写字母:
* *
* * ******
****** * *
* * **** * *
* * * * * ******
****** * * * *
****** * * *
****** * *
******
该如何解决?
要求如下:
编写方法显示如下的H,L,E,用此方法编写程序,以显示如下排列的大写字母:
* *
* * ******
****** * *
* * **** * *
* * * * * ******
****** * * * *
****** * * *
****** * *
******
该如何解决?
但是这样有些麻烦,
所以把每个字母定义为字符串数组String[]
一个字符串hello,要输出,一共会有5+str.length()-1
其中第行的字符串为
h[n]+e[n-1]+l[n-2]....如果n的下表大于4或者小于0,就输出连续空格。你说这个不是体力活是什么啊。
这种程序,懒得写
public class weirdHello { static String[] H = {"* *","* *","******","* *","* *"};
static String[] E = {"******","* ","**** ","* ","******"};
static String[] L = {"* ","* ","* ","* ","******"};
static String[] O = {"******","* *","* *","* *","******"}; /**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String[][] hello = {H,E,L,L,O};
for(int i=0;i<9;i++){
for(int j=0;j<5;j++){
if(i-j>=0&&i-j<=4){
System.out.print(hello[j][i-j]+" ");
}else{
System.out.print(" ");
}
}
System.out.println();
// System.out.println();
}
}}