1.数字菱形
代码如下(示例):
public class DitalRhom {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
int n=input.nextInt();
for (int i = 1; i <=n; i++) {
space(n-i);
digital(i);
System.out.println();
}
for (int i =n-1; i>0; i--) {
space(n-i);
digital(i);
System.out.println();
}
}
private static void space(int n) {
while (n-->0){
System.out.print(" ");
}
}
private static void digital(int n) {
for (int i = 1; i <=n ; i++) {
System.out.print(i);
}
for (int i = n-1; i>0; i--) {
System.out.print(i);
}
}
}
10以上会错位
2.空心菱形
代码如下(示例):
public class Rhombus1 {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
int n=input.nextInt();
for (int i=n-1; i >=0 ; i--) {
space(i);
System.out.print("*");
space(2*(n-i)-3);
if(n-i!=1){
System.out.print("*");
}
System.out.println();
}
for (int i = 1; i <n ; i++) {
space(i);
System.out.print("*");
space(2*(n-i)-3);
if(n-i!=1){
System.out.print("*");
}
System.out.println();
}
}
//传来多少打印多少
public static void space(int n){
while (n-->0){
System.out.print(" ");
}
}
}
//更简洁的写法
public class TwoArray {
final static int PI=323;
public static void main(String[] args) {
//printf是有四舍五入的
// System.out.printf("%.2f",a);
// Math.log(a);
Scanner input=new Scanner(System.in);
int n=input.nextInt();
//double和int可直接和string拼接
for (int i = 1; i <=5; i++) {
printSpace(n-i);
printAsterisk(2*i-1);
printSpace(n-i);
System.out.println();
}
for (int i =4; i >0 ; i--) {
printSpace(n-i);
printAsterisk(2*i-1);
printSpace(n-i);
System.out.println();
}
}
public static void printSpace(int i){
for (int j = 0; j < i; j++) {
System.out.print(" ");
}
}
public static void printAsterisk(int i){
for (int j = 1; j <=i; j++) {
if(j==1||j==i){
System.out.print("*");
}else {
System.out.print(" ");
}
}
}
}