导航:首页 > 编程语言 > 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打印菱形详解相关的资料

热点内容
彩视制作教程 浏览:766
圣墟在哪个App看免费 浏览:395
网络哪些不能玩 浏览:868
probe315使用教程 浏览:646
数字电位器程序 浏览:198
c代码整理 浏览:104
网络营销具有什么优势 浏览:378
右下角网络连接不显示宽带连接 浏览:940
ps修改tif文件 浏览:580
预防医学如何转行做大数据 浏览:234
pdf文件变蓝 浏览:309
怎么在pdf文件上面用k宝签名 浏览:213
如何知道表格里数据后面有空格 浏览:720
gee引擎更新系统找不到指定文件 浏览:802
贝壳网的数据删除了如何找回 浏览:509
华为荣耀6x怎么切换网络 浏览:418
手机里的pdf文件在哪放 浏览:889
java版贪吃蛇毕业论文 浏览:989
微信公共号邮箱 浏览:415
图片宽度代码 浏览:460

友情链接