概述
标题
打印菱形
问题描述
根据键盘输入行数,打印相应行数的菱形
题目要求
要求输入一个正整数,输出格式中应包含结果
输入格式
请输入行数:9
输出格式
输出:
*
***
*****
*******
*********
*******
*****
***
*
考察内容*
调用java.util.Scanner
循环语句
解题思路*
1.判断输入的行数是否正确,行数必须为单数才能形成菱形
2.设有n行 ,将菱形分为两部分:上部分 row =(n+1)/ 2 行,下部分 (row-1) 行
核心代码*
package test_1;
import java.util.Scanner;
public class rightTriangle {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n;
//
判断行数是否构成菱形
do {
System.out.println("请输入行数(单数):");
n = sc.nextInt();
if (n%2==0||n<=0){
System.out.println("输入错误,不能构成菱形");
}else{
break;
}
}while(true);
int row = (n+1)/2;
//
上半部分
for (int i = 1; i <= row; i++) {//行数
for (int j = 1; j <= row-i; j++) {//row-i 每行输出空格数
System.out.print(" ");
}
for (int j = 1; j <= i*2-1; j++) {//i*2-1 每行输出*个数
System.out.print("*");
}
System.out.println();
}
//
下半部分
for (int i = 1; i < row; i++) {
for (int j = 1; j <= i; j++) {
System.out.print(" ");
}
for (int j = 1; j <= (row-1)*2-(i*2-1); j++) {
System.out.print("*");
}
System.out.println();
}
}
}
第二种写法:
package test_1;
import java.util.Scanner;
import java.util.jar.JarOutputStream;
public class rightTriangle {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n;
//
判断行数是否构成菱形
do {
System.out.println("请输入行数(单数):");
n = sc.nextInt();
if (n%2==0||n<=0){
System.out.println("输入错误,不能构成菱形");
}else{
break;
}
}while(true);
int row = (n+1)/2;
//
上半部分
for (int i = 1; i <= row; i++) {//行数
for (int j = 1; j <= row-i; j++) {//row-i 每行输出空格数
System.out.print(" ");
}
for (int j = 1; j <= i*2-1; j++) {//i*2-1 每行输出*个数
System.out.print("*");
}
System.out.println();
}
//
下半部分
for (int i = row-1; i >= 1; i--) {
for (int j = 1; j <= row-i; j++) {
System.out.print(" ");
}
for (int j = i*2-1; j >= 1; j--) {
System.out.print("*");
}
System.out.println();
}
}
}
最后
以上就是伶俐画板为你收集整理的java 打印菱形的全部内容,希望文章能够帮你解决java 打印菱形所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复