java:在控制台输出“*”组成一个回字。行数由控制台输入。行数应该至少要超过7行以上才能输出吧。求规律

 我来答
Irreproducible
2012-04-07 · TA获得超过451个赞
知道小有建树答主
回答量:305
采纳率:100%
帮助的人:451万
展开全部
7行的话,回字的写法很显然,但是大于7行话,就有多种写法了吧(取决于两个正方形的大小)

其实要打印,就要确定以下几件事情
1. 两个正方形的大小(打正方形无疑问,就是行数本身,小正方形的边长比大正方形至少小4,其本身则至少要大于等于3,这个范围内任选即可)
2. 确定了以上两点,那么每个正方形的4个顶点坐标就能确定了,接下来就可以通过循环把坐标间的点都打印出来
更多追问追答
追问
能写一下代码吗?
追答
哼哼,暴露了吧.. 本来还求规律的,然后就求代码了,等会儿去写...
========================================================

public class Test {

public static void main(String args[]) {
int size = 9;
int gap = 1, innerSize = size - 2 - gap * 2, innerGap = innerSize - 2;

char star = '*', space = ' ';
printCharsLn(star, size);
printCharsLns(gap, star, 1, space, size - 2, star, 1);
printCharsLn(star, 1, space, gap, star, innerSize, space, gap, star, 1);
printCharsLns(innerGap, star, 1, space, gap, star, 1, space, innerGap,
star, 1, space, gap, star, 1);
printCharsLn(star, 1, space, gap, star, innerSize, space, gap, star, 1);
printCharsLns(gap, star, 1, space, size - 2, star, 1);
printCharsLn(star, size);
}

private static void printCharsLns(int n, int... params) {
while (n-- > 0) printCharsLn(params);
}

private static void printCharsLn(int... params) {
for (int i = 0; i 0) System.out.print(c);
}

}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式