1.输入数字就是高度性
1.题目描述
现给出菱形的高度,要求你打印出相应高度的菱形,参考下面的例子
2.输入
测试数据包括多行,每行1个整数h,h为奇数,为菱形的高度。
输入以0结束。
3.输出
输入对应的菱形。
相关代码
import java.util.*;
public class Main {
public static void main (String[] args) {
Scanner in= new Scanner (System.in);
while(in.hasNext()) {
int n=in.nextInt();
if(n==0) {
break;
}
else
{
for (int i = 1; i <= (n + 1) / 2; i++) { // 上半行
for (int j = 1; j <= (n + 1) / 2-i; j++) { // 上半行空格
System.out.print(" ");
}
for (int m = 1; m < 2 * i; m++) { // 按照规律1,3,5,7。。。。输入每行的*
System.out.print("*");
}
System.out.println();
}
for (int k = (n + 1) / 2 - 1; k >= 1; k--) { // 下半行
for (int b = 1; b <= (n + 1) / 2 - k; b++) { // 下半行空格
System.out.print(" ");
}
for (int c = (n + 1) / 2 - k; c <= (n + 1) / 2 - 2 + k; c++) { // 按照规律。。。7,5,3,1输入每行的*
System.out.print("*");
}
System.out.println();
}
}
}
}
}
2.输入数字是菱形上半层层数的
相关代码描述:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
while(s.hasNext()){
int a = s.nextInt();
jinzita(a);
}
}
public static void jinzita(int a){
for (int i = 0; i < a; i++) {
for (int j = 0; j < a-1-i; j++) {
System.out.print(" ");
}
for (int j = 0; j < 2*i+1; j++) {
System.out.print("*");
}
System.out.println();
}//上半层层数等于输入
for (int i = 1; i < a; i++) {
for (int j = 0; j < i; j++) {
System.out.print(" ");
}
for (int j = 0; j < 2*(a-i-1)+1; j++) {
System.out.print("*");
}
System.out.println();//补齐下半层,不需要可以删掉
}
}
}
本文详细介绍了一种使用Java实现的菱形打印算法,通过两个不同的方法,分别针对输入数字代表高度和上半层层数的情况,展示了如何生成对应高度的菱形图案。代码中包含了完整的实现逻辑,包括上半部分和下半部分的打印过程。
3206

被折叠的 条评论
为什么被折叠?



