使用java语言 编写制图程序, 向控制台打印各种形状 正方形、正三角形、圆形、心形、菱形 等等图形

核心技术点
嵌套 for 循环 &if 选择结构
方法定义与调用
do...while & switch
================ 图形打印 ================
1. 打印正方形
2. 打印正三角形
3. 打印倒三角体
4. 打印正实心三角
5. 打印菱形
6. 打印字母菱形
7. 打印平行四边形
8. 退出程序
请输入序号 , 选择您要打印的图形 (1 ~ 7):
public class PrintGraph {
public static void main ( String [] args ) {
boolean flag = true ;
do {
// 获取用户输入的编号 , 进行匹配
int num = showMenu ();
switch ( num ){
case 1 :
print1 ();
break ;
case 2 :
print2 ();
break ;
case 3 :
print3 ();
break ;
case 4 :
print4 ();
break ;
case 5 :
print5 ();
break ;
case 6 :
print6 ();
break ;
case 7 :
print7 ();
break ;
case 8 :
System . out . println ( " 退出程序 ! 欢迎下次使用 !" );
return ;
}
} while ( flag );
}
//7. 平行四边形
private static void print7 () {
System . out . println ( "\n 打印平行四边形 -------------------------------------
----\n" );
for ( int i = 0 ; i < 5 ; i ++ ) {
for ( int j = 0 ; j < 5 - i ; j ++ ) {
System . out . print ( " " );
}
for ( int j = 0 ; j <= 8 ; j ++ ) {
System . out . print ( "*" );
} System . out . println ();
}
}
// 打印字母菱形
private static void print6 () {
System . out . println ( "\n 打印字母菱形 ---------------------------------------
--\n" );
// 定义 char 类型变量
char ch = 'A' ;
// 打印菱形的上半部分
for ( int i = 0 ; i < 4 ; i ++ ) {
for ( int j = 0 ; j <= 2 - i ; j ++ ) {
System . out . print ( " " ); // 打印空格
}
for ( int j = 0 ; j <= 2 * i ; j ++ ) {
System . out . print (( char )( ch + i )); // 打印字母
}
System . out . println ();
}
char ch2 = 'C' ;
// 打印下半部分
for ( int i = 0 ; i < 3 ; i ++ ) {
for ( int j = 0 ; j <= i ; j ++ ) {
System . out . print ( " " );
}
for ( int j = 0 ; j <= 4 - 2 * i ; j ++ ) {
System . out . print (( char )( ch2 - i ));
}
System . out . println ();
}
}
//5. 打印菱形
private static void print5 () {
System . out . println ( "\n 打印菱形 -----------------------------------------
\n" );
// 打印菱形的上半部分
for ( int i = 0 ; i < 4 ; i ++ ) {
for ( int j = 0 ; j <= 2 - i ; j ++ ) {
System . out . print ( " " ); // 打印空格
}
for ( int j = 0 ; j <= 2 * i ; j ++ ) {
System . out . print ( "*" ); // 打印 *
} System . out . println ();
}
// 打印下半部分
for ( int i = 0 ; i < 3 ; i ++ ) {
for ( int j = 0 ; j <= i ; j ++ ) {
System . out . print ( " " );
}
for ( int j = 0 ; j <= 4 - 2 * i ; j ++ ) {
System . out . print ( "*" );
}
System . out . println ();
}
}
/**
* 打印正实心三角形
* */
private static void print4 () {
System . out . println ( "\n 打印正实心三角形 ------------------------------------
-----\n" );
int count = 6 ; // 打印的行数
for ( int i = 0 ; i < count ; i ++ ) {
// 输出空格
for ( int k = count - 1 ; k > i ; k -- ) {
System . out . print ( " " );
}
// 输出 *
for ( int j = 0 ; j <= i ; j ++ ) {
//j=0 输出一颗星
if ( j == 0 ){
System . out . print ( "*" );
} else {
System . out . print ( "**" );
}
}
System . out . println ();
}
}
/**
* 打印倒三角
* */
private static void print3 () {
System . out . println ( "\n 打印倒三角形 ---------------------------------------
--\n" ); for ( int i = 0 ; i < 8 ; i ++ ) {
for ( int j = 8 ; j > i ; j -- ) {
System . out . print ( "* " );
}
System . out . println ();
}
}
/**
* 打印正三角形
* */
private static void print2 () {
System . out . println ( "\n 打印正三角形 ---------------------------------------
--\n" );
for ( int i = 0 ; i < 8 ; i ++ ) {
for ( int j = 0 ; j <= i ; j ++ ) {
System . out . print ( "* " );
}
System . out . println ();
}
}
// 打印菜单的方法
public static int showMenu (){
Scanner sc = new Scanner ( System . in );
System . out . println ( "\n\n============================ 图形打印
==========================" );
System . out . println ( "1. 打印正方形 " );
System . out . println ( "2. 打印正三角形 " );
System . out . println ( "3. 打印倒三角体 " );
System . out . println ( "4. 打印正实心三角 " );
System . out . println ( "5. 打印菱形 " );
System . out . println ( "6. 打印字母菱形 " );
System . out . println ( "7. 打印平行四边形 " );
System . out . println ( "8. 退出程序 " );
System . out . println ( " 请输入序号 , 选择您要打印的图形 (1 ~ 7):" );
int num = sc . nextInt ();
return num ;
}
//1. 打印正方形
public static void print1 (){
System . out . println ( " 打印正方形 -----------------------------------------
\n" );
for ( int i = 0 ; i < 8 ; i ++ ) { // 外循环控制 行数
for ( int j = 0 ; j < 8 ; j ++ ) { // 内循环控制 列数
System . out . print ( "@ " );
}
System . out . println (); // 换行
} }
}
  • 8
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
好的,我可以为您提供Java程序的示例代码,用于画出圆形正方形和三角形。 首先,需要导入Java的绘图包java.awt和javax.swing。然后,可以定义一个接口Shape,其中包括画图方法draw()。接下来,可以定义三个类Circle、Square和Triangle,实现接口Shape并重新定义draw()方法,在方法中使用Java绘图API来画出相应的形状。 示例代码如下: ```java import java.awt.Graphics; import javax.swing.JFrame; import javax.swing.JPanel; interface Shape { public void draw(Graphics g); } class Circle implements Shape { int x, y, r; public Circle(int x, int y, int r) { this.x = x; this.y = y; this.r = r; } public void draw(Graphics g) { g.drawOval(x-r, y-r, 2*r, 2*r); } } class Square implements Shape { int x, y, side; public Square(int x, int y, int side) { this.x = x; this.y = y; this.side = side; } public void draw(Graphics g) { g.drawRect(x, y, side, side); } } class Triangle implements Shape { int[] xPoints = {100, 150, 50}; int[] yPoints = {100, 150, 150}; public void draw(Graphics g) { g.drawPolygon(xPoints, yPoints, 3); } } class MyPanel extends JPanel { Shape[] shapes; public MyPanel() { shapes = new Shape[3]; shapes[0] = new Circle(100, 100, 50); shapes[1] = new Square(200, 100, 50); shapes[2] = new Triangle(); } public void paint(Graphics g) { super.paint(g); for (Shape s : shapes) { s.draw(g); } } } public class Main { public static void main(String[] args) { JFrame frame = new JFrame("Shapes"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.add(new MyPanel()); frame.setSize(400, 400); frame.setVisible(true); } } ``` 在这个示例程序中,定义了三个类Circle、Square和Triangle,它们都实现了接口Shape,并分别重写了draw()方法,在方法中使用相应的Java绘图API来画出圆形正方形和三角形,然后在MyPanel类中将它们同时绘制到界面上。最后,在主函数中创建一个JFrame对象来显示界面。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BigData-缑溪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值