如何用JAVA输出如下的星星?

如何用JAVA输出如下的星星?,第1张

按照你的要求编写的Java程序如下:

import java.util.Scanner

public class Test8 {

 public static void main(String[] args) {

  Scanner sc=new Scanner(System.in)

  System.out.println("请输入一个正奇数:")

  final int N=sc.nextInt()

  for(int m=1m<=2*Nm+=2){

   for (int i = 1 i <=2*N i+=2) {

    for(int k=1k<=Math.abs(N-m)k+=2){

     for (int j = 1 j <= Math.abs(N-i) j+=2) {

      System.out.print(" ")

     }

     for (int j = 1 j <=N- Math.abs(i-N) j++) {

      System.out.print(" ")

     }

     for (int j = 1 j <= Math.abs(N-i) j+=2) {

      System.out.print(" ")

     }

    }

    for(int k=1k<=N- Math.abs(m-N)k++){

     for (int j = 1 j <= Math.abs(N-i) j+=2) {

      System.out.print(" ")

     }

     for (int j = 1 j <=N- Math.abs(i-N) j++) {

      System.out.print("*")

     }

     for (int j = 1 j <= Math.abs(N-i) j+=2) {

      System.out.print(" ")

     }

    }

    System.out.println()

   }

  }

 }

}

运行结果:

请输入一个正奇数:

3

    *

   ***

    *

 *  *  *

*********

 *  *  *

    *

   ***

    *

public static void main(String[] args) {

String n = JOptionPane.showInputDialog("请输入一个数字:")// 直接输入行号

int l = Integer.parseInt(n)

int k = l

for (int i = 1i <= ki++) {

for (int j = 1j <= lj++)

System.out.print(" ")

l--

for (int j = 1j <= i*2-1j++) {

System.out.print("*")// 显示星星

}

System.out.println()

}

}

第一个的代码如下,可以改变i的数值来控制X形状的大小

class Test

{

public static void main(String[] args)

{

int i=3

int j=i*2-1

int k,l

for(j>0j--)

{

k=(i-1)-Math.abs(j-i)

l=Math.abs(j-i)*2-1

for(k>0k--)

{

System.out.print(" ")

}

System.out.print("*")

if(l>0)

{

for(l>0l--)

{

System.out.print(" ")

}

System.out.print("*")

}

System.out.print("\n")

}

}

}

你第二个我也没看明白,不过思路应该都差不多,你根据这一个自己琢磨琢磨吧,关键问题就在k和l的计算上.


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8129528.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-13
下一篇 2023-04-13

发表评论

登录后才能评论

评论列表(0条)

保存