按照你的要求编写的用for循环打印边长为n的实心菱形的Java程序如下(Math.abs 是数学类的求绝对值的函数)
佛坪ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18982081108(备注:SSL证书合作)期待与您的合作!
import java.util.Scanner;
public class AA {
public static void main(String[] args) {
int i,j,n;
Scanner sc=new Scanner(System.in);
n=sc.nextInt();
for(i=1;i=2*n-1;i++){
for(j=1;j=Math.abs(n-i);j++){
System.out.print(" ");
}
for(j=1;j=2*n-1-2*Math.abs(n-i);j++){
System.out.print("*");
}
System.out.println();
}
}
}
运行结果
输入 5
输出
public class s{
public static void main(String args[]){
int k = 5; //打印的菱形的大小
for(int i=-k;i=0;i++){
for(int j=1;j=Math.abs(i);j++)
System.out.print(" ");
for(int j=1;j=(k-Math.abs(i))*2+1;j++)
System.out.print("*");
System.out.println();
}
for(int i=0;i=-k;i--){
for(int j=0;j=Math.abs(i);j++)
System.out.print(" ");
for(int j=1;j(k-Math.abs(i))*2;j++)
System.out.print("*");
System.out.println();
}
}
}
java打印菱形通过二维数组来打印,实例如下:
int hangshu = 11;
int yiban = hangshu / 2 + 1;
int yibanduo = hangshu / 2;
System.out.println("空心菱形:");
for(int k = 1;k = yiban;k++){
for(int i = 1;i = (yiban - k);i++){
System.out.print(" ");
}
System.out.print("*");
for(int i = 1;i = ( (k - 2) * 2 + 1);i++){
System.out.print(" ");
}
if(k != 1){
System.out.print("*");
}
System.out.println();
}
for(int k = yibanduo;k =1;k--){
for(int i = 1;i = (yiban - k);i++){
System.out.print(" ");
}
System.out.print("*");
for(int i = 1;i = ( (k - 2) * 2 + 1);i++){
System.out.print(" ");
}
if(k != 1){
System.out.print("*");
}
System.out.println();
}
System.out.println("实心菱形:");
for(int i = 1;i = hangshu;i++){
if(i = hangshu/2 + 1){
for(int k = 1;k = hangshu/2 + 1- i;k++){
System.out.print(" ");
}
for(int k = 1;k = i;k++){
System.out.print("* ");
}
System.out.println();
}else{
for(int k =1;k = (i -(hangshu/2 + 1));k++){
System.out.print(" ");
}
for(int k = 1;k = (2 *(hangshu/2 + 1) - i);k++){
System.out.print("* ");
}
System.out.println();
}
}
结果如下: