Java输出算法_输出几种图形的算法——java

参加java培训,周末作业,要求通过控制台输出以下几种图形

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

以下是源代码,还有一点bug,解决中

package Testweek;

import java.util.Scanner;

public class weekEnd {

public static void main(String[] args) {

Scanner q = new Scanner(System.in);

do {

System.out.println("请输入数字选择要画的形状:");

System.out.println("1:矩形;2:空心矩形;3:数字金字塔;4:字母金字塔;5:空心菱形;");

PrintThis();

System.out.println("是否继续绘制图形(y/n):");

}while (q.next() == "y");

System.out.println("谢谢使用!——power by HY");

}

public static void PrintThis(){

int x,y,h,n;

Scanner s = new Scanner(System.in);

switch (s.nextInt()) {

case 1:

System.out.print("请输入矩形的长:");

x = s.nextInt();

System.out.print("请输入矩形的宽:");

y = s.nextInt();

Cube(x,y);

break;

case 2:

System.out.print("请输入空心矩形的长:");

x = s.nextInt();

System.out.print("请输入空心矩形的宽:");

y = s.nextInt();

CubeEnpty(x,y);

break;

case 3:

System.out.print("请输入数字金字塔的高度:");

h = s.nextInt();

SingelNum(h);

break;

case 4:

System.out.print("请输入字母金字塔的高度:");

h = s.nextInt();

SingelNum(h);

break;

case 5:

System.out.print("请输入输出菱形的顶格位数:");

n = s.nextInt();

SingelNum(n);

break;

default:

System.out.println("您的输入有误!!");

break;

}

}

public static void Cube(int x,int y){

for (int i = 0; i < x; i++) {//行

for (int j = 0; j < y; j++) {//列

System.out.print("* ");

}

System.out.println();

}

}

public static void CubeEnpty(int x,int y){

for (int i = 0; i < x; i++) {//行

for (int j = 0; j < y; j++) {//列

//if(i == 0 || i == x-1){

if((i == 0 || i == x-1)||(j == 0 || j == y-1)){

System.out.print("* ");

}

else System.out.print(" ");

}

System.out.println();

}

}

public static void Singel(int h){

for (int i = 0; i < h; i++) {//行

for (int j = 0; j < i+1; j++) {//列

System.out.print(" ");

}

for (int j = 0; j < h-i; j++) {//列

System.out.print("* ");

}

System.out.println();

}

}

public static void SingelNum(int h){

for (int i = 1; i <= h; i++) {//行

for (int j = 1; j <= h-i; j++) {//列

System.out.print(" ");

}

for (int j = 1; j <= i; j++) {//列

System.out.print(i+" ");

}

System.out.println();

}

}

public static void triangleWord(int h){

for (int i = 0; i < h; i++) {//行

for (int j = 0; j < h-i; j++) {//列

System.out.print(" ");

}

for (int j = 0; j < i; j++) {//列

char w = (char)(i+64);

System.out.print(w+" ");

}

System.out.println();

}

}

//输出菱形改良版

public static void Rhombus(int n){

for (int i = 0; i < (2*n+1); i++) {

for (int j = 0; j < (2*n+1); j++) {

if(i <= n &&(j == n-i || j == n+i)){

System.out.print("*");

}

else if( i > n &&(j == 3*n-i || j == i-n)){

System.out.print("*");

}

else {

System.out.print("-");

}

}

System.out.println();

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值