如何使用JAVA打印菱形(一)
2015-01-13 17:17
791 查看
使用JAVA如何打印一个菱形呢?不多说了直接上代码看
![](https://img-blog.csdn.net/20150113171730248?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZjQ0NTIzOTA1MQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
import java.util.Scanner;
public class Diamond {
/*
* 在学到双循环的时候,每一个人都会接触到打印一个菱形的问题。
* 而这在面试的时候,也是经常被问起的问题。
* 然而对于菱形,主要是分为上下两个部分打印出来。
* 就像我一开始给出的excel的图片一样。
* 在表格里我绘制了一个边长为5的菱形。分成两个部分来看待这个问题。
*/
public static void main(String[] args){
boolean boo=true;//控制do-while循环的变量
Scanner input = new Scanner(System.in);
do{
System.out.println("请输入一个你想要得到的菱形的边长:");
int n = input.nextInt() ;//获得你从屏幕上输入的数字,也就是咱们的菱形的边长,讲解中我主要以n=5来说明问题
/* 菱形的上半部分.
* 从图中我们先看我用颜色标出来的那部分。对于这5行的
* 第一行:空格数:4,星星的个数:1。第二行:空格数:3,星星的个数:3。第三行:空格数:2,星星的个数:5。第四行:空格数:1,星星的个数:7
* 第二行:空格数:0,星星的个数:9。
* 可以很明显的发现,空格数的规律是:边长-行数。需要打印出的星星数目是:行数*2-1。
* 所以我们先去打印空格,再去打印星星
*/
//外循环控制的是行数,内循环控制的是列数
for(int i=1;i<=n;i++){
for(int j=1;j<=n-i;j++){
System.out.print(" ");
}
for(int j=1;j<=(2*i-1);j++){
System.out.print("*");
}
System.out.println();
}
/*
* 菱形的下半部分:
* 接下来可以看到菱形图片中还剩下面一个部分,下面的部分好处理。
* 可以看到这个图形以第五行为对称轴上下对称么?所以我们就倒着打印下半部分。
* 外层循环的数目是:边长-1。也就是还需要打印(边长-1)行。
* 在下半部分菱形的内循环的代码和上半部分中的内循环的代码是一样的
* 控制打印空格数和星星数是与i和n有关的。
*/
for(int i=n-1;i>0;i--){
for(int j=1;j<=n-i;j++){
System.out.print(" ");
}
for(int j=1;j<=(2*i-1);j++){
System.out.print("*");
}
System.out.println();
}
//询问用户需要再输入一个边长么
System.out.println("要继续么?(Y/N)");
String str = input.next();
if(str.equals("Y")){
boo=true;
}else{
boo=false;
}
}while(boo);
System.out.println("程序结束!!!");
}
}
import java.util.Scanner;
public class Diamond {
/*
* 在学到双循环的时候,每一个人都会接触到打印一个菱形的问题。
* 而这在面试的时候,也是经常被问起的问题。
* 然而对于菱形,主要是分为上下两个部分打印出来。
* 就像我一开始给出的excel的图片一样。
* 在表格里我绘制了一个边长为5的菱形。分成两个部分来看待这个问题。
*/
public static void main(String[] args){
boolean boo=true;//控制do-while循环的变量
Scanner input = new Scanner(System.in);
do{
System.out.println("请输入一个你想要得到的菱形的边长:");
int n = input.nextInt() ;//获得你从屏幕上输入的数字,也就是咱们的菱形的边长,讲解中我主要以n=5来说明问题
/* 菱形的上半部分.
* 从图中我们先看我用颜色标出来的那部分。对于这5行的
* 第一行:空格数:4,星星的个数:1。第二行:空格数:3,星星的个数:3。第三行:空格数:2,星星的个数:5。第四行:空格数:1,星星的个数:7
* 第二行:空格数:0,星星的个数:9。
* 可以很明显的发现,空格数的规律是:边长-行数。需要打印出的星星数目是:行数*2-1。
* 所以我们先去打印空格,再去打印星星
*/
//外循环控制的是行数,内循环控制的是列数
for(int i=1;i<=n;i++){
for(int j=1;j<=n-i;j++){
System.out.print(" ");
}
for(int j=1;j<=(2*i-1);j++){
System.out.print("*");
}
System.out.println();
}
/*
* 菱形的下半部分:
* 接下来可以看到菱形图片中还剩下面一个部分,下面的部分好处理。
* 可以看到这个图形以第五行为对称轴上下对称么?所以我们就倒着打印下半部分。
* 外层循环的数目是:边长-1。也就是还需要打印(边长-1)行。
* 在下半部分菱形的内循环的代码和上半部分中的内循环的代码是一样的
* 控制打印空格数和星星数是与i和n有关的。
*/
for(int i=n-1;i>0;i--){
for(int j=1;j<=n-i;j++){
System.out.print(" ");
}
for(int j=1;j<=(2*i-1);j++){
System.out.print("*");
}
System.out.println();
}
//询问用户需要再输入一个边长么
System.out.println("要继续么?(Y/N)");
String str = input.next();
if(str.equals("Y")){
boo=true;
}else{
boo=false;
}
}while(boo);
System.out.println("程序结束!!!");
}
}
相关文章推荐
- 如何使用JAVA打印菱形(四)对于空心菱形外加对角线的美化
- 如何使用JAVA打印菱形(三)空心菱形基础上加上对角线
- 如何使用JAVA打印菱形(二)空心菱形
- 在Java项目中如何使用log4j和slf4j实现日志打印
- 经典问题1:使用java语言打印菱形
- JAVA初学者如何输出打印菱形
- 【Java】使用嵌套循环分别打印矩形 三角形 平行四边形 菱形
- 在java中如何用 for循环打印出一个菱形
- java中使用for循环去打印正方形,三角形,菱形等图形
- java高级编程学习如何使用打印服务 API
- Java报表工具技巧--如何使用Style Report制作以及打印标签
- 使用java代码打印三角形、平行四边形、菱形
- 如何使用Java自带的正则表达式【转】
- 使用IE打印,如何设置默认纸张大小,页边距等?(求救!!)
- 如何在Java中使用Blob字段(使用Model傳遞值)
- 学习如何使用打印服务API【转】
- 创建智能网络蜘蛛——如何使用Java网络对象和HTML对象(翻译)
- 如何使用Java编写多线程程序
- 如何使用Java POI生成Excel表文件
- 如何使用Java读取串口的程序