Java打印实心、空心的三角形和菱形
1.实心三角形
代码:
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
int rows;
Scanner sc = new Scanner(System.in);
System.out.println("Please input rows:");
rows = sc.nextInt();
sc.close();
for (int i = 1; i <= rows; i++) {//控制打印行数
for (int j = 1; j <= rows - i; j++) {//控制每行打印空格数
System.out.print(" ");
}
for (int j = 1; j <= i * 2 - 1; j++) {//控制打印星号数
System.out.print("*");
}
System.out.println();//每打一行,换行
}
}
}
2.空心三角形
代码:
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
int rows;
Scanner sc = new Scanner(System.in);
System.out.println("Please input rows:");
rows = sc.nextInt();
sc.close();
for (int i = 1; i <= rows; i++) {
for (int j = 1; j <= rows - i; j++) {
System.out.print(" ");
}
for (int j = 1; j <= 2 * i - 1; j++) {
if (i == 1 || i == rows) { // 如果是第一行或最后一行,打印所有星号
System.out.print("*");
} else if (j == 1 || j == 2 * i - 1) { // 如果是每行的第一个或者最后一个,打印星号
System.out.print("*");
} else { // 其余打印空格
System.out.print(" ");
}
}
System.out.println();
}
}
}
3.实心菱形
代码:
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
int rows;
Scanner sc = new Scanner(System.in);
System.out.println("Please input odd rows:");// 只能是奇数行
rows = (sc.nextInt() + 1) / 2;// 上半部分行数
sc.close();
for (int i = 1; i <= rows; i++) {
for (int j = 1; j <= rows - i; j++) {
System.out.print(" ");
}
for (int j = 1; j <= 2 * i - 1; j++) {
System.out.print("*");
}
System.out.println();
}
for (int i = rows - 1; i >= 1; i--) { // 下半部分不可重复打印上半部分最后一行,i=rows-1)
for (int j = 1; j <= rows - i; j++) {
System.out.print(" ");
}
for (int j = 1; j <= 2 * i - 1; j++) {
System.out.print("*");
}
System.out.println();
}
}
}
4.空心菱形
代码:
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
int rows;
Scanner sc = new Scanner(System.in);
System.out.println("Please input odd rows:");// 只能是奇数行
rows = (sc.nextInt() + 1) / 2;// 上半部分行数
sc.close();
sc.close();
for (int i = 1; i <= rows; i++) {
for (int j = 1; j <= rows - i; j++) {
System.out.print(" ");
}
for (int j = 1; j <= 2 * i - 1; j++) {
if (i == 1) {
System.out.print("*");
} else if (j == 1 || j == 2 * i - 1) {
System.out.print("*");
} else {
System.out.print(" ");
}
}
System.out.println();
}
for (int i = rows - 1; i >= 1; i--) {// 此处只需i=rows-1即可
for (int j = 1; j <= rows - i; j++) {
System.out.print(" ");
}
for (int j = 1; j <= 2 * i - 1; j++) {
if (i == 1) {
System.out.print("*");
} else if (j == 1 || j == 2 * i - 1) {
System.out.print("*");
} else {
System.out.print(" ");
}
}
System.out.println();
}
}
}
Java打印实心、空心的三角形和菱形的更多相关文章
- java打印实心10*10正方形, 空心10*10正方形
public class PrintSquare { public static void main(String[] args) { printSolidSquare(10); System.out ...
- c++打印实心菱形,空心三角形,十字星,空心正方形,实心平行四边形
今天翻资料的时候,无意间发现了一个文件,是刚接触编程的时候用c++写的一段程序,我称之为"图形打印机",想着把所有图形都打印出来,后来发现其实每种图形的代码都是一个思路,就不想做重 ...
- Java基础知识强化07:打印出空心菱形
1.如图打印出空心菱形: 2.下面是逻辑实现代码: package himi.hebao04; import java.util.Scanner; public class TestDemo08 { ...
- Java打印空心菱形
使用Java打印空心菱形 public static void main(String[] args) { int n = 5; //这里输出菱形的上半部分 for (int i = 1; i < ...
- python打印实心等边三角形和空心等边三角形
#1 打印实心等边三角形 n = 5 for i in range(1, n+1): # 控制三角形的高,也就是层数 for k in range(2*(n-i)): # 控制每层第一个*的空格,从最 ...
- Java打印空心三角
Java打印空心三角 public static void main(String[] args) { int n=5; //n表示输出空心三角形行数,这里以5行为例 for(int i=1;i< ...
- 通过原生JS打印一个空心菱形图案
<!doctype html> <html> <head> <meta charset="utf-8"> <title> ...
- java打印正金字塔,倒金字塔和“水影”金字塔
java打印正金字塔,倒金字塔和"水影"金字塔 --------原创文章,若要转载,请注明出处 小小少年 闲来无事,想起自己初学java的时候做的经典的无非就是打印出一些有意思 ...
- Java 打印金字塔 or 打印带数字的金字塔 (Java 学习中的小记录)
Java 打印金字塔 or 打印带数字的金字塔 (Java 学习中的小记录) 作者:王可利(Star·星星) 效果图: 代码如下: class Star8 { public static void m ...
随机推荐
- javascript 中英文字符长度和截断处理
因:javascript中的String类自带的length属性 和 substr()方法虽然能判断和截取出字符个数,但是对字节个数却没有处理的方法(众所周知,中文字符占两个字节,英文只占一个) 果: ...
- Computer system with dual operating modes
A system switches between non-secure and secure modes by making processes, applications, and data fo ...
- [演示示例程序]Objective-C受委托的设计模式(牛仔女孩)
今天整理电脑打开一次自我Objective-C当编写一个实践设计模式委托一个小程序,在po快来分享.也复习一下OC中的托付. Objective-C中的托付设计模式是和协议分不开的. 协议呢.就是使用 ...
- [Example of Sklearn] - SVM usge
reference : http://www.csdn.net/article/2012-12-28/2813275-Support-Vector-Machine SVM是什么? SVM是一种训练机器 ...
- STL序列容器之vector
一,vector容器简介 1.vector容器的原理 vector是将元素置于一个动态数组中加以管理的容器. 2.vector容器的特点 vector容器可以随机存取元素,支持索引存取(即用数组下标的 ...
- Linux性能测试 ss命令
ss即socket state,也就是说,是可以查看系统中socket的状态的.我们可以用netstat,但为什么还要用ss这个工具呢,当然ss也是有好处的.当我们打开的socket数量很多时,net ...
- wpf CefSharp 与 js交互
原文:wpf CefSharp 与 js交互 通过 NuGet 获取 CefSharp.WpF 组件. xmlns:cefSharp="clr-namespace:CefSharp.Wpf ...
- POJ1185:火炮(减少国家)
Description 命令将军打算N*M该网络格他们的炮兵部队部署在地图上.一个N*M该地图由N行M列,每个地图格它可以是山(使用"H" 表示),也可能是平原(用"P& ...
- Logback 专题
logback-spring.xml <?xml version="1.0" encoding="UTF-8"?> <configuratio ...
- API Hook基本原理和实现
API Hook基本原理和实现 2009-03-14 20:09 windows系统下的编程,消息message的传递是贯穿其始终的.这个消息我们可以简单理解为一个有特定意义的整数,正如我们看过的老故 ...