|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
首先第一点:jsp,servlet,javabean这些最基本的,嘿嘿,就算你是高手的话,在大行的企业级应用的话还是需要框架的,一个好的框架确实能构解决许多问题。
这是最基本的例子了,每一个初学者城市要做这个标题。这个标题的目标是熟习轮回特别是嵌套轮回的利用。可是假如对Java充足熟习,转头来再写这个程序,就完整不是这么写的了。
嵌套轮回长短常庞大的逻辑。出格是写得很长的嵌套轮回,一个不当心把j写成i,就够你调试半天的。以是嵌套轮回应当只管制止。怎样制止?将外部轮回提取成一个办法。如许每一个办法里都只要一层轮回,简单看,简单改,并且不简单堕落。
import java.util.Arrays;
/**
* 打印一个字符构成的金字塔
*/
public class Pyramid {
// 程序出口
public static void main(String[] args) {
printPyramid(21, *);
}
/**
* 打印一座金字塔。
*
* @param bottom_width 底层宽度。必需是奇数。
* @param ch 构成金字塔的字符
*/
private static void printPyramid(int bottom_width, char ch) {
if (bottom_width < 1 || bottom_width % 2 == 0) {
throw new IllegalArgumentException();
}
int height = bottom_width / 2 + 1; // 金字塔的高度
for (int i = 0; i < height; i++) {
int width = i * 2 + 1; // 本层的宽度
System.out.println(getLevel(bottom_width, width, ch));
}
}
/**
* 天生金字塔的一行
*
* @param bottom_width 金字塔宽度
* @param width 本层的宽度
* @param ch 要打印的字符
*
* @return 金字塔的一行
*/
private static String getLevel(int bottom_width, int width, char ch) {
int space_width = (bottom_width - width) / 2; // 后面空格的宽度
return expand( , space_width) + expand(ch, width);
}
/**
* 天生包括多少个字符的字符串。
*
* @param c 天生字符串的字符
* @param width 字符串的长度
*
* @return 天生的字符串
*/
private static String expand(char c, int width) {
char[] chars = new char[width];
Arrays.fill(chars, c);
return new String(chars);
}
}
看完你大概以为奇异:这里有嵌套吗?有。Arrays.fill()办法终极就是经由过程轮回实现的。
恰恰证明了java的简单,要不怎么没有通过c/c++来搞个这种框架? |
|