导航:首页 > 编程语言 > java打印菱形详解

java打印菱形详解

发布时间:2023-06-01 19:11:21

『壹』 怎么用java去打印输出一个菱形

首先,这个涉及到行和列,所以,这个肯定是用两个for的嵌套来打印输出。然后,我们要找出这个的规律,因为“磨刀不误砍柴工”,所以找出规律所在,我们才知道应该怎么去下手。比如:我们应该把这个分成上下两个部分,上面部分是:
*****
第一行:三个部分;2个空格 1个*号 2个空格 (i=1)
***** 第二行:三个部分;1个空格 3个*号 1个空格 (i=2)
***** 第三行:三个部分;0个空格 5个*号 0个空格 ( i=3)

为了更加方便去找规律,我们把这个图形补充完整,黑色部分代表着空格,也就是没有显示的部分,而红色部分就是我们的图形的上半部分。所以我们可以得出的规律是:*号的数量和i的关系为:2*i-1 而,空格因为左右一样,所以空格为:3-i。所以上半部分的代码可以这样写:

for(int i =1 ;i<=3;i++){
for(int j=1;j<=3-i;j++){
System.out.print(" ");//打印左边的空格
}
for(int j=1;j<=2*i-1;j++){
System.out.print("*"); //打印*号
}
for(int j=1;j<=3-i;j++){
System.out.print(" ");//打印右边空格(也可以省略)
}
System.out.println();//这是每一行打印完就换行
}

那同样的,我们也要在下半部分找出规律来:

***** 第一行:三个部分;1个空格 3个*号 1个空格
(i=1)

***** 第一行:三个部分;2个空格
1个*号 2个空格 (i=2)

所以我们可以得出的规律是:*号的数量和i的关系为:5-2*i
而,空格因为左右一样,所以空格为:i。所以下半部分的代码可以这样写:

for(int i=1;i<=2;i++){
for(int j=1;j<=i;j++){
System.out.print(" ");
}
for(int j=1;j<=5-2*i;j++){
System.out.print("*");
}
for(int j=1;j<=i;j++){
System.out.print(" ");
}
System.out.println();
}

同样的任何只要是这样的菱形,我们都可以通过这个规律去打印,只需要把上面的数字替换掉,替换成需要打印的数字就可以了,然后规律大家也可以自己去找。只要很认真熟练地打印出这个例子,那么for的嵌套使用就可以比较熟练了。

『贰』 java 怎样写出一个菱形程序空心和实心

java打印菱形通过二维数组来打印,实例如下:

		=11;
intyiban=hangshu/2+1;
intyibano=hangshu/2;
System.out.println("空心菱形:");
for(intk=1;k<=yiban;k++){
for(inti=1;i<=(yiban-k);i++){
System.out.print("");
}
System.out.print("*");
for(inti=1;i<=((k-2)*2+1);i++){
System.out.print("");
}
if(k!=1){
System.out.print("*");
}
System.out.println();
}
for(intk=yibano;k>=1;k--){
for(inti=1;i<=(yiban-k);i++){
System.out.print("");
}
System.out.print("*");
for(inti=1;i<=((k-2)*2+1);i++){
System.out.print("");
}
if(k!=1){
System.out.print("*");
}
System.out.println();
}


System.out.println("实心菱形:");
for(inti=1;i<=hangshu;i++){
if(i<=hangshu/2+1){
for(intk=1;k<=hangshu/2+1-i;k++){
System.out.print("");
}
for(intk=1;k<=i;k++){
System.out.print("*");
}
System.out.println();
}else{
for(intk=1;k<=(i-(hangshu/2+1));k++){
System.out.print("");
}
for(intk=1;k<=(2*(hangshu/2+1)-i);k++){
System.out.print("*");
}
System.out.println();
}
}

结果如下:

『叁』 java中如何用星号如何输出个空心的菱形

import java.util.Scanner;

public class Diamond {
public static void main(String[] args) {
int length=1;//存储菱形的边长的变量
Scanner sc =new Scanner(System.in);//输入数据的扫描对象
System.out.println("请输入菱形的边长:");
length = sc.nextInt();//获取输入的边长数值
/*打印菱形的上半部分三角形 行数为length行*/
for (int i=1; i<=length;i++) {//需要打印的行数
for(int j=1;j<=length-i;j++){//打印左边空白的区域,随行递减1
System.out.print(" ");
}
for(int k=1;k<=2*i-1;k++){//打三角形的区域
if(k==1||k==2*i-1){//空心的获取 除每行第一个以及最后一个 外其余为空白
System.out.print("*");
}else{
System.out.print(" ");
}
}
System.out.println();
}
/*打印菱形的下半部分三角形 中间行公用 故行数为length-1*/
for (int i = length-1;i>0;i--){
for(int j=1;j<=length-i;j++){
System.out.print(" ");
}
for(int k=1;k<=2*i-1;k++){
if(k==1||k==2*i-1){
System.out.print("*");
}else{
System.out.print(" ");
}
}
System.out.println();
}
}
}

『肆』 用java编写菱形

		回for(intm=-8;m<=8;m=m+2){
答 for(intj=1;j<=(Math.abs(m))/2;j++){
System.out.print("");
}
for(intj=1;j<=9-Math.abs(m);j++){
System.out.print("*");
}
for(intj=1;j<=(Math.abs(m)-1)/2;j++){
System.out.print("");
}
System.out.println();
}

『伍』 java打印一个菱形

该菱形一共有12行,上三角7行,所以第一个for循环for(int i=1;i<=7;i+=2)是控制打印上三角的,第一个for循环里面又有两个,前面一个是打印每行前面的空格,后面一个是打印每行中的*,所以第四个for循环就是打印那个下三角的,道理与第一个for循环类似,仔细看看不难理解,祝你学习进步!

『陆』 用java for循环输出打印菱形 详细的步骤注释 求指教

*
***
*****
*******
*********
*******
*****
***
*

方法很多,可以i=0开始的!我现在是 从1开始
public class Zuoye {
public static void main(String[] args) {
//首先把菱形看成上下,上五下四,所以第一个for有5次,第二个for4次
for(int i=1;i<=5;i++)
{
//将空格和*分开看,看" "的变化i=1时,他是4 ,2的时候是3找规律
for(int j=1;j<=5-i;j++)
System.out.print(" ");
for(int k=1;k<=2*i-1;k++)//找规律,i是 1 3 5 7 基数嘛
System.out.print('*');
//换一行
System.out.println();
}
for(int i=1;i<=4;i++)
{
for(int j=1;j<=i;j++)//空格 1 2 3 4 so
System.out.print(" ");
for(int k=7;k>=2*i-1;k--)//* 7 5 3 1倒着来的基数
System.out.print('*');
System.out.println();
}
}
}

希望你可以举一反三,能打印活的菱形

阅读全文

与java打印菱形详解相关的资料

热点内容
怎么编程做手机软件 浏览:39
开源中国app源码10 浏览:97
如何分类别显示数据 浏览:178
模块化编程叫什么 浏览:683
游戏本编程软件慢怎么办 浏览:661
迅雷外置存储卡文件找不到 浏览:246
网站icp备案什么意思 浏览:672
编程变量如何定义 浏览:927
大猩猩安卓模拟器 浏览:714
云听app缓存文件在哪里 浏览:726
视灯数据是什么 浏览:188
word制作ppt 浏览:894
qq飞车小绵羊摩托车 浏览:615
文件档案销毁站在哪里 浏览:262
docscan扫描应用程序 浏览:770
自学编程语言在哪里上网课比较好 浏览:900
vivo浏览器下载的隐私文件在哪里 浏览:313
手机文件管理哪些文件是重要的 浏览:336
电脑上的文件变成excel 浏览:555
小米note发现更新版本 浏览:901

友情链接