黑马程序员技术交流社区
标题:
用程序写星问题
[打印本页]
作者:
追梦之旅
时间:
2014-4-11 23:51
标题:
用程序写星问题
2、利用程序输出如下图形:
*
* * *
* * * * *
* * * * * * *
* * * * *
* * *
* 如何用java程序打出这样的图型,改如何分析这题呢 求详解
作者:
Kelvinhu
时间:
2014-4-11 23:53
分析一下 这个是按照行来的,
第四行是最长的一行,前4行是每行+2个星,后四行是前4行的镜像(也就是每星-2)
作者:
程序爱好者
时间:
2014-4-12 00:39
public class Dome {
public static void main(String[] args) {
/*
这个分开来大 把第一部分看做是 :
*
***
******
********
第二部分:
*****
***
*
*/
for (int i = 1; i <=4; i++) { //控制第一部分的行数
for (int j = 1; j <=2*i-1; j++) { //行数*i-1
System.out.print("*");
}
System.out.println();
}
for (int i = 1; i <=3; i++) { //控制第二部分的行数。
for (int j = 1; j<=7-2*i; j++) { //7-2*1是有 3*2-(2*i-1)转过来的.
System.out.print("*");
}
System.out.println();
}
}
}
复制代码
我也是新手 我知道对不对 一起研究一下
作者:
caijunsong
时间:
2014-4-12 00:47
public class Demo
{
public static void main(String[]agrs)
{
int s;
//打印1-4行
for(int i=1;i<=4;i++)
{
s=2*i-1;
for(int j=1;j<=s;j++)
System.out.print("*");
System.out.println("");
}
////打印5-7行
for(int i=3;i>=1;i--)
{
s=i*2-1;
for(int j=1;j<=s;j++)
System.out.print("*");
System.out.println("");
}
}
}
复制代码
作者:
清风夜独醉
时间:
2014-4-12 03:29
其实就是一个嵌套循环的问题。
外循环控制输出的行数,内循环控制输出的"*"的个数。
可以把它分开看成两部分做,也可以看成一部分直接做,只是其中加上if语句做判断。
for(int i=1;i<=7;i++){
if(i<=4){
int j = 0;
while(j<(i*2-1)){
System.out.print("*");
j++;
}
System.out.println();
}else{
int j = 0;
while(j<((8-i)*2-1)){ //第i行其实就是倒数第8-i行。
System.out.print("*");
j++;
}
System.out.println();
}
复制代码
作者:
追梦之旅
时间:
2014-4-12 11:44
我弄到的答案是这class t02 {
public static void main(String[] args) {
for (int i = 1; i <= 13; i += 2) {
for (int j = 1; j <= i && i + j <= 14; j++) {
System.out.print("* ");
}
System.out.println(); // 换行
}
}
} 开始我也是分段写的 ,没写出来,看了答案这样写很难想到所以就麻烦了各位。只要答案对就行了。谢谢
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2