当前位置:首页>开发>正文

用java打印菱形代码 一个用JAVA如何打印菱形的程序

2023-04-10 20:10:46 互联网 未知 开发

用java打印菱形代码 一个用JAVA如何打印菱形的程序

一个用JAVA如何打印菱形的程序?

它的思路是这样的

譬如对于i=1,它先打印6个空格,然后打印1个星号

即就是对于每一个i,先打印这一行对应的空格号,然后打印星号*

你后面的代码一样的效果,先根据行数打印对应的空格数,然后补上星号

其实你不用考虑位置的,因为你每一行都是缩进1个空格,即就是下一行的开始星号一行比前一行提前一个字符的位置。所以那些位置必然居中的,好看期间,你可以改一下就好看多了。。for(int i=1i<=7i ){

Java打印菱形高效简洁代码

public static void main(String args[]){
java.util.Scanner sc=new java.util.Scanner(System.in)
System.out.println("请输入一个奇数")
int line=sc.nextInt()
while(line%2==0 || line<0){
System.out.println("请重新输入一个奇数")
line=sc.nextInt()
}
print(1,line)
}

public static void print(int n,int line){
if(line%2==0) return
if(n>=line){
for(int i=0i System.out.print("*")
}
System.out.println()
return
}
for(int i=0i System.out.print(" ")
}
for(int i=0i System.out.print("*")
}
System.out.println()
print(n 2,line)
for(int i=0i System.out.print(" ")
}
for(int i=0i System.out.print("*")
}
System.out.println()
}

java打印菱形。

public class test2 {public static void main(String[] args) {
//这个for执行四次
//第一次:打印9个空格,然后打印一个*,然后加个空格
//第二次:打印7个空格,然后打印三次 *加空格
//第三次:打印5个空格,然后打印五次 *加空格
//第四次:打印3个空格,然后打印7次 *加空格
for (int i = 0 i < 8 i ) { if (i % 2 == 0) { //这里表示只对i是偶数的时候执行下面的操作 for (int j = 0 j < 9 - i j ) { //空格主要是给下面的行留空间,保证对齐
System.out.print(" ") //第一次打印7个空格,第二次5 } for (int j = 0 j < (i 1) j ) { System.out.print(* " ") } System.out.println() } } // 中部以及下半部分
//这个for也是四次
//第一次:打印4个空格,然后打印5次 空格加*
//第二次:打印6个空格,然后打印3次 空格加*
//第三次:打印8个空格,然后打印1次 空格加*
//第四次:打印10个空格,然后不打*
for (int i = 0 i < 8 i ) { if (i % 2 == 0) { for (int j = 0 j < 4 i j ) { System.out.print(" ") } for (int j = 0 j < 5 - i j ) { System.out.print(" *") } System.out.println() } } } }

主要是你要理解思想就好理解了,分两部分 首先搞清楚每次循环打印*的个数,上半部分是先打1个,然后是3个,然后是5个,然后是7个。下半部分是5个,3个,1个。至于那些9,8,5,4那些数字,都是拼凑起来打印空格的,决定图形的对齐方式。
代码里唯一的注释是错的,第一次实际上是打了9个空格,第二次是7个,第三次是5个,最后是3个。下半部分写的有点乱。上半部分打印的是*加空格,下半部分打印的是空格加*,完全是为了拼凑出来的。你可以自己改改,不懂再问。

JAVA打印菱形的讲解

public class Var_02 {
public static void main(String args[])
{
//进入循环体
/*
*第一次,当i=1的时候 ,进入,
*
*/
for (int i = 1 i <= 7 i = 2)
{
/*
* 这个for循环是打的空白。就是说。当第一行打一个星之前的时候
*
* 这里首先要先开始打七个空白处
*
* 然后由于星星每下一行要多打,所以第二个for里面就要递增的方式
*
* 星星越来越多。相对的空白就越来越少了。
*
*/
for (int kong = 7 kong > i - 1 kong--)
{
System.out.print(" ")
}
for (int xing = 1 xing <= i xing )
{
System.out.print("* ")
}
System.out.println()
}
/*
*
* 底下的这个循环到底和上面的相反的。
*
* 是先空白打的少。然后星星就打的多。
*/
for (int j = 1 j <= 5 j = 2)
{
for (int kong1 = 1 kong1 < j 3 kong1 )
{
System.out.print(" ")
}
for (int xing1 = 5 xing1 >= j xing1--)
{
System.out.print("* ")
}
System.out.println()
}
}
}其实这个菱形就是两个三角形在一起。上面是个正三角形,先打空白出来。依次减少空白。星星相反的慢慢增多而下面的是倒三角形。也是先打空白。依次增多空白。星星也相反的慢慢减少

用java打印菱形。

int i,j,k for(i=1i<=5i ){ for(j=1j<=5-ij ) System.out.print(" ") for(k=1k<=2*i-1k ) System.out.print("*") System.out.println("")} for(i=1i<=4i ){ for(j=1j<=ij ) System.out.print(" ") for(k=1k<=9-2*ik ) System.out.print("*") System.out.println("")}

Java 用for循环打出菱形,空菱形,求解!

import java.util.Scanner
public class Rhombus {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in)//可键盘输入图形大小
System.out.print("请输入菱形大小:")
int length = sc.nextInt()//以下是输出空心菱形
for(int i=0i<2*length-1i ){
for(int j=0j<2*length-1j ){
if(j==length-1-i||-j==length-1-i||i==j-(length-1)||2*length-2-i==j-(length-1))
System.out.print("*")
else
System.out.print(" ")
}
System.out.println()

}//下面是输出实心菱形
System.out.println("----------------")
for(int i=0i<2*length-1i ){
for(int j=0j<2*length-1j ){
if(j>=length-1-i&&-j<=length-1-i&&i>=j-(length-1)&&2*length-2-i>=j-(length-1))
System.out.print("*")
else
System.out.print(" ")
}
System.out.println()

}
}

}

最新文章