按照你的要求编写的Java程序如下:
import java.util.Scannerpublic 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的计算上.
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)