java 打印半金字塔,金字塔,空心金字塔,空心菱形
/**
*作者:huangbao
*日期:2010-06-21
*功能:打印半金字塔,金字塔,空心金字塔,空心菱形
*描述:半金字塔,金字塔,空心金字塔,空心菱形
*其它:Pyramid,Layer
*/
import java.io.*;
public class Pyramid
{
public static void main(String[] args)
{
//这是javaeye上的一个例子
//菱形
for(int i=0;i<9;i++)
{
if(i<5){
for(int j=0;j<5-i;j++)
{
System.out.print(" ");
}
for(int j=0;j<=i;j++)
{
System.out.print("★");
}
System.out.println();
}
else{
for(int j=0;j<=i-4;j++)
{
System.out.print(" ");
}
for(int j=0;j<9-i;j++)
{
System.out.print("★");
}
System.out.println();
}
}
//以下是我参考javaeye的例子所写
//半金字塔
/*
*
**
***
****
*/
int layer=4;
for(int i=1;i<=layer;i++){
for(int j=1;j<=i;j++){
System.out.print("*");
}
System.out.println();
}
//金字塔
System.out.println("金字塔");
fullPyramid();
/*
*
***
*****
*******
*/
//空心金字塔
System.out.println("空心金字塔");
hollowPyramid();
/*
*
* *
* *
*******
*/
//菱形
System.out.println("菱形");
fullDiamond();
/*
*
***
*****
*******
*****
***
*
*/
//空心菱形
System.out.println("空心菱形");
hollowDiamond();
/*
*
* *
* *
* *
* *
* *
*
*/
}
//金字塔
//Full pyramid
public static void fullPyramid(){
int layer=4;
for(int i=1;i<=layer;i++){
//空格规律
//1->3,2->2,3->1,4->0
for(int k=1;k<=layer-i;k++){
System.out.print(" ");
}
//打印*规律
//1->1,2->3,3->5,4->7
for(int j=1;j<=(i-1)*2+1;j++){
System.out.print("*");
}
System.out.println();
}
}
//空心金字塔
//Hollow pyramid
public static void hollowPyramid(){
int x=7;
int y=2;
System.out.println("x/y:"+(x/y));
int layer=4;
for(int i=1;i<=layer;i++){
for(int k=1;k<=layer-i;k++){
System.out.print(" ");
}
for(int j=1;j<=(i-1)*2+1;j++){
if(i==1 || i==layer ){
System.out.print("*");
}else{
if(j==1 || j==(i-1)*2+1){
System.out.print("*");
}else{
System.out.print(" ");
}
}
}
System.out.println();
}
}
//菱形
//full diamond
public static void fullDiamond(){
int layer=7;
for(int i=0;i<layer;i++){
if(i<layer/2+1){
//空格规律
//1->3,2->2,3->1,4->0
for(int k=0;k<layer/2+1-i;k++){
System.out.print(" ");
}
//打印*规律
//1->1,2->3,3->5,4->7
for(int j=0;j<(i+1)*2-1;j++){
System.out.print("*");
}
System.out.println();
}else{
//4,5,6-3->1,2,3
for(int k=0;k<=i-(layer-(layer/2+1));k++){
System.out.print(" ");
}
//7-4,5,6,7->3,2,1,0-1->2,1,0,-1
//7-4,5,6,7->3,2,1,0+1->4,3,2,1*2->8,6,4,2-1->7,5,3,1
//6-4,5,6->2,1,0+1->3,2,1*2->6,4,2-1->5,3,1
//7-4,5,6->3,2,1*2->6,4,2-1->5,3,1
for(int j=1;j<=(layer-i)*2-1;j++){
System.out.print("*");
}
System.out.println();
}
}
}
//空心菱形
//Hollow diamond
public static void hollowDiamond(){
try{
BufferedReader buf=new BufferedReader(new InputStreamReader(System.in));
System.out.println("请输入菱形的层数(>=3的整数):");
String hd=buf.readLine();
int layer=Integer.parseInt(hd);
//int layer=21;
if(layer%2==0)
{
layer=layer-1;
}
for(int i=0;i<layer;i++){
if(i<layer/2+1){
//空格规律
//1->3,2->2,3->1,4->0
for(int k=0;k<layer/2+1-i;k++){
System.out.print(" ");
}
//打印*规律
//1->1,2->3,3->5,4->7
for(int j=1;j<=(i+1)*2-1;j++){
if(i==0){
System.out.print("*");
}else{
//0,1,2,3+1->1,2,3,4*2->2,4,6,8-1->1,3,5,7
if(j==1 || j==(i+1)*2-1){
System.out.print("*");
}else{
System.out.print(" ");
}
}
}
System.out.println();
}else{
//4,5,6-3->1,2,3
for(int k=0;k<=i-(layer-(layer/2+1));k++){
System.out.print(" ");
}
//7-4,5,6,7->3,2,1,0-1->2,1,0,-1
//7-4,5,6,7->3,2,1,0+1->4,3,2,1*2->8,6,4,2-1->7,5,3,1
//6-4,5,6->2,1,0+1->3,2,1*2->6,4,2-1->5,3,1
//7-4,5,6->3,2,1*2->6,4,2-1->5,3,1
for(int j=1;j<=(layer-i)*2-1;j++){
if(i==layer-1){
System.out.print("*");
}else{
if(j==1 || j==(layer-i)*2-1){
System.out.print("*");
}else{
System.out.print(" ");
}
}
}
System.out.println();
}
}
}catch(Exception e){
e.printStackTrace();
}
}
}
分享到:
相关推荐
用java代码编写程序输出金字塔/镂空金字塔
經典案例打印空心金字塔.go
C语言图案金字塔C语言图案金字塔C语言图案金字塔C语言图案金字塔C语言图案金字塔C语言图案金字塔C语言图案金字塔C语言图案金字塔C语言图案金字塔
利用php中的for循环来打印出不同的图形,如: 半个金字塔, 整个金字塔, 空心菱形等。
主要介绍了java控制台输出数字金字塔的示例,控制台输出的缺陷是数字不能完全居中,只能右对齐或左对齐,大家参考使用吧
空心的数字金字塔c
输入行数后,程序会打印出对应行数的空心数字金字塔。 例如,输入行数为5,输出结果如下: ``` 1 1 1 1 1 1 1 1 1 1 1 1 ``` 其中,空心的部分用空格代替。特别地,金字塔的最后一行是实心的。
用vc++,C语言输出数字以金字塔排列
今天学习了最基础的PHP条件和循环... * * * 的空心金字塔。 第一种: 复制代码 代码如下: for ($i=1;$i<=5;$i++){ switch ($i){ case 1: echo ” “.”*”.” “; break; case 2: echo ” “;
压缩文件中包含斐波纳契数列、九九乘法表、套含空心的金字塔等C++程序源代码。