黑马程序员技术交流社区
标题:
棱形的输出
[打印本页]
作者:
God’s favoure
时间:
2014-10-20 12:45
标题:
棱形的输出
public static void getPrism(){//打印一个棱形
int i,j;
for(i=0;i<10;i++){
if(i%2==0){//i的取值范围是0,2,4,6,8,里面需要循环五次,也就是说,正三角行数为5
for(j=0;j<8-i;j++){
System.out.print(" ");
}
for(j =0;j<i+1;j++){
System.out.print("*"+" ");
}
System.out.println();
}
}
for(i=0;i<7;i++){
if(i%2==0){
for(j=0;j<i+2;j++){
System.out.print(" ");
}
for(j=0;j<7-i;j++){
System.out.print("*"+" ");
}
System.out.println();
}
}
作者:
香草芭芙
时间:
2014-10-20 15:22
public class Test20
{
public static void main(String[] args)
{
for (int x = 0; x < 6; x++)
{
for (int y = 0; y < 11; y++)
{
if (y < 5 - x) System.out.print(" ");
else if (y > 5 + x) System.out.print(" ");
else System.out.print("* ");
}
System.out.println();
}
for (int x = 0; x < 6; x++)
{
for (int y = 0; y < 11; y++)
{
if (y < x + 1) System.out.print(" ");
else if (y > 9 - x) System.out.print(" ");
else System.out.print("* ");
}
System.out.println();
}
}
}
复制代码
作者:
cxdzh
时间:
2014-10-20 15:32
本帖最后由 cxdzh 于 2014-10-20 15:34 编辑
class getPrism
{
public static void main(String[] args)
{
prism(80);//调用输出菱形的方法.参数决定此菱形的总行数.
}
//定义一个输出菱形的方法.hangShu这个变量代表要输出的菱形总行数..修改此变量即可输出不同行数的菱形.
public static void prism(int hangShu)
{
if (hangShu<3||hangShu>80)//实测3行以下无法称为菱形,80行以上在控制台输出效果也畸形了.
{
System.out.println("你要输出的菱形行数超出可执行范围!");
return;
}
int shangHangShu=hangShu/2+hangShu%2;//判断尖角朝上部分的行数,总行数除以2,如果总行数是单数,上面多输出一行.
int xiaHangShu=hangShu/2;//尖角朝下部分的行数.
for (int i=1;i<=shangHangShu;i++ )//从1开始循环,输出上半部分.
{
for(int j=0;j<shangHangShu-i;j++)//先打印空格,因为尖角朝上,总行数减去当前行数即为要打印的空格数.
System.out.print(" ");
for(int h=1;h<=i*2-1;h++)//第1行1颗星,第2行3颗,第3行5颗,即每行打印数为行数*2-1)颗
System.out.print("*");
System.out.println("");//一行打印完换行.
}
for (int i=xiaHangShu;i>0;i-- )//输出尖角下半部分.
{
for(int j=xiaHangShu;j>i-hangShu%2;j--)//下半部分空格打印次数=行数,但如果总行数是双数,则空格打印次数=行数-1
System.out.print(" ");
for(int h=i*2-1;h>0;h--)//每行打印星星次数与上半部分相反.
System.out.print("*");
System.out.println("");
}
}
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2