Java打印各种形状 心形 菱形 三角形 圆形
Java打印各种形状 心形 菱形 三角形 圆形
public class TestPrint {
/**
* 打印*号
*/
public static void main(String[] args) {
// 正方体
System.out.println("\n打印正方形-----------------------------\n");
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5; j++)
System.out.print("* ");
System.out.println();
}
System.out.println("\n\n正三角-----------------------------\n");
// 正三角体
for (int i = 0; i < 5; i++) {
for (int j = 0; j <= i; j++)
System.out.print("* ");
System.out.println();
}
System.out.println("\n\n倒三角-----------------------------\n");
// 倒三角体
for (int i = 0; i < 5; i++) {
for (int j = 5; j > i; j--)
System.out.print("* ");
System.out.println();
}
// 打印正实心三角
System.out.println("\n\n打印正实心三角-----------------------------\n");
int count = 4;
for (int i = 0; i < count; i++) {
// 空格 行数-1 递减
for (int k = count - 1; k > i; k--) {
System.out.print(' ');
}
/*
* for(int j = 0;j <= 2 * i; j++){ //*号 System.out.print("*"); }
*/
for (int j = 0; j <= i; j++) { // *号
if (j == 0)
System.out.print("*");
else
System.out.print("**");
}
System.out.println();
}
// 打印三角
System.out.println("\n\n打印空心三角-----------------------------\n");
int length = 9;
for (int i = 1; i <= length; i++) {
// 打印空格
for (int j = 0; j <= length - i; j++) {
System.out.print(' ');
}
// 打印*
System.out.print('*');
for (int j = 1; j < 2 * (i - 1); j++) {
System.out.print(' ');
}
// 打印*
if (i != 1)
System.out.println('*');
System.out.println();// 换行
}
// 打印心形
aiXin();
//打印空心圆
circle();
//菱形◆
daimond();
}
private static void daimond() {
// TODO Auto-generated method stub
System.out.println("\n\n打印菱形-----------------------------\n");
for(int i = 1; i <= 5; i++){
for(int j = 1; j <= 5 - i; j++){
System.out.print(" ");
}
for(int j = 1; j <= 2 * i - 1; j++){
System.out.print("*");
}
System.out.println();
}
for(int i = 4; i > 0; i--){
for(int j = 1; j <= 5 - i; j++){
System.out.print(" ");
}
for(int j = 1; j <= 2 * i - 1; j++){
System.out.print("*");
}
System.out.println();
}
}
/**
*打印心形
*爱心的公式 (x²+y²-1)³-x²*y³=0
*/
public static void aiXin() {
System.out.println("\n\n打印心型-----------------------------\n");
for (float y = (float) 1.5; y > -1.5; y -= 0.1) {
for (float x = (float) -1.5; x < 1.5; x += 0.05) {
float a = x * x + y * y - 1;
if ((a * a * a - x * x * y * y * y) <= 0.0) {
System.out.print("*");
} else
System.out.print(" ");
}
System.out.println();
}
}
public static void circle(){
System.out.println("\n\n打印空心圆-----------------------------\n");
int r=15;//圆形的半径
for (int y = 0; y <= 2 * r; y += 2) {//y的步长为2,改变y的步长可以将圆形变成椭圆
int x = (int)Math.round(r - Math.sqrt(2 * r * y - y * y));
int len = 2 * (r - x);
for (int i = 0; i <= x; i++) {
System.out.print(' ');
}
System.out.print('*');
for (int j = 0; j <= len; j++) {
System.out.print(' ');
}
System.out.println('*');
}
}
}
效果:
圆形心形参考:https://blog.****.net/qq_39098813/article/details/79781396
菱形参考:https://blog.****.net/blue_hh/article/details/75528560