Java语言打印空心菱形
打印空心菱形如果一开始觉得比较困难的话,那么不妨分成几个步骤走完成菱形的打印。
1.先打印一个直角三角形(都是由星星组成的)
代码如下:
import java.util.Scanner;//导入Scanner类所在的包
public class RightTriangle{
public static void main(String[] args){
Scanner myScanner = new Scanner(System.in);//创建一个新的Scanner类用来接受总层数totalLevel
System.out.println("请输入总层数totalLevel:");
int totalLevel = myScanner.nextInt();
for (int i = 1 ; i <= totalLevel ; i++ ) {//一共要打印的总层数
for (int j = 1 ; j <= 2 * i -1 ; j ++) {//每一层要打印的星星的个数(2*N-1)
System.out.print("*");
}
System.out.println();
}
}
}
编译运行,在DOS窗口下输入5,结果如下图所
2.先打印一个实心的三角形(就是空格和星星的组成)
代码如下:
import java.util.Scanner;
public class SolidTriangle{
public static void main(String[] args){
Scanner myScanner = new Scanner(System.in);//创建一个新的Scanner类用来接受总层数totalLevel
System.out.println("请输入总层数totalLevel:");
int totalLevel = myScanner.nextInt();
for (int i = 1 ; i <= totalLevel ; i++ ) {//一共要打印的总层数
for (int j = 1 ; j <= totalLevel - i ; j++ ) {//每一层要打印的空格数
System.out.print(" ");
}
for (int k = 1 ; k <= 2 * i -1 ; k ++) {//每一层要打印的星星的个数(2*N-1)
System.out.print("*");
}
System.out.println();
}
}
}
编译运行,在DOS窗口下输入5,结果如下图所示:
3.先打印一个空心的三角形
代码如下:
import java.util.Scanner;
public class HollowTriangle{
public static void main(String[] args){
Scanner myScanner = new Scanner(System.in);
System.out.print("请输入总层数:");
int totalLevel = myScanner.nextInt();
for (int i = 1 ; i <= totalLevel ; i++ ) {//一共要打印的层数
if (i == totalLevel) {
for (int m = 1 ; m <= 2 * i - 1 ; m++ ) {
System.out.print("*");
}
}else{
for (int j = 1 ; j <= totalLevel - i ; j++ ) {//每层要打印的第一批空格数
System.out.print(" ");
}
System.out.print("*");
for (int k = 1 ; k <= 2 * i - 3 ; k++ ) {//每层要打印的第二批的空格数
System.out.print(" ");
}
if (i != 1) {
System.out.print("*");
}
System.out.println();
}
}
}
}
编译运行,在DOS窗口下输入5,结果如下图所示:
4.先打印一个空心的菱形(由两个空心的三角形组成,因为菱形是对称的所以下面的那一部分的空心三角形要比上一部分的空心三角形的总层数减少一个,这个方能构成一个菱形。)
代码如下:
import java.util.Scanner;
public class HollowDiamond{
public static void main(String[] args){
Scanner myScanner = new Scanner(System.in);
System.out.print("请输入上层总层数:");
int totalLevel = myScanner.nextInt();
//打印菱形的上半部分
for (int i = 1 ; i <= totalLevel ; i++ ) {//上层所需要打印的总层数
for (int j = 1; j <= totalLevel - i ; j++) {//每层要打印的空格数(就是总层数减去所在的层数)
System.out.print(" ");
}
for (int k = 1; k <= 2 * i - 1; k++ ) {//每一行要输入的星星的数量(所打印的星星的总数是2*N-1)
if (k == 1 || k == 2*i - 1 ) {//第一个和最后一个打印星星,其余打印空格
System.out.print("*");
}else{
System.out.print(" ");
}
}
System.out.println();//每一行结束后就进行换行的操作.
}
//打印菱形的下半部分
for (int m = 1 ; m <= totalLevel -1 ; m++) {//因为菱形是对称的所以下面的总层数是上层总层数减去一才能构成菱形
for (int n = 1; n <= m ; n ++ ) {
System.out.print(" ");
}
for (int p = 1; p <= 2 * (totalLevel - m) -1 ; p++) {//每一行要输入的星星的数量
if (p == 1 || p == 2 * (totalLevel - m) - 1) {//totalLevel- m就是方便的转换,比如说上层一共有五层,那么第六行和第四行的情况一样
System.out.print( "*");
}else{
System.out.print(" ");
}
}
System.out.println();//每一行结束后就进行换行的操作.
}
}
}
编译运行,在DOS窗口下输入5,结果如下图所示:
Java语言打印空心菱形的更多相关文章
- c语言打印空心菱形
***算法:把菱形的中心看成坐标的原点(,),由此可以知道,如果|x| + |y| <= n;则打印输出"*"号,否则打印输出" " int mai(){ ...
- Java打印空心菱形
使用Java打印空心菱形 public static void main(String[] args) { int n = 5; //这里输出菱形的上半部分 for (int i = 1; i < ...
- java中打印实心菱形以及空心菱形的方法
一.打印效果 二.实现代码汇总 为了方便初学者对代码的理解,建议熟练t1到t5为各种三角的打印,然后再进行菱形的打印实现. package circulationDemo; import java.u ...
- java 打印空心菱形的两种实现
第一种实现方式: //打印给定行数的空心菱形 public static void draw(int size){ if (size % 2 == 0) //如果是偶数行变为奇数 { size++; ...
- for循环打印空心菱形的新方法
相信大家在学习流程控制的循环结构时,一定都用for循环绘制过菱形和空心菱形吧,我记得我当时写的很麻烦,把一个菱形分为上下两部分,上面2重for循环,下面2重for循环,相信有很多的小伙伴都是这样做的吧 ...
- java语言 打印素数实例
//根据定义判断素数---循环n-1次,当n很大时循环n次 public static void main(String[] args) { // TODO Auto-generated ...
- java语言打印上三角和下三角,进一步得到九九乘法表
关于下面两种图形的打印问题 ***** 与 * **** ** *** *** ** **** * ***** 一:程序 1.先打印下三角 2.结果 3.后打印上三角 4.结果 二:知识点 1.f ...
- Java温故而知新-空心菱形
空心菱形 今天做题练手,题目是空心菱形,一开始没什么思路,去网上找了找,发现很难找到讲的通透的,自己现在独立做出来了,记录一下,以备后用. * * * * * * * * * * * * * * * ...
- 案例>>>用绝对值的方法打印出菱形
import java.util.Scanner; public class Test { public static void main(String[] args) { Scanner sc = ...
- Java星星打印三角形小结
1.直角三角形的打印
随机推荐
- python实现通用json导入到mysql
import json from Db import Db db = Db() ''' 参考配置文件 { "file": "test.json", " ...
- 又花了半个小时将 ChatGPT 接入了钉钉机器人
前面的文章给大家介绍了如何在个人微信中使用 ChatGPT,但是大家都知道这种操作是有风险的,所以都让大家使用小号,今天再给大家介绍一下如何在钉钉中使用机器人来调戏 AI. 流程 注册钉钉开发者平台账 ...
- 3D场景建模
在这个虚拟现实的世界里,我们将会和你一起在云端构建属于自己的世界. 这里有一款3D场景编辑器可以让你在上面进行编辑.设计及渲染. 它是一个非常炫酷的软件,在这里,你可以尽情发挥你的想象力,创造出独一无 ...
- 极速编程体验:VsCode和webstorm插上ChatGPT
ChatGPT走入了千家万户,而她最适合的用法之一就是进行编程辅助,特别是对一些常规开发,有比较好的引导作用. 很多主流编辑器都有相关的插件支持接入ChatGPT,而VsCode和webstorm是我 ...
- LeetCode-1034 边界着色
题目来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/coloring-a-border/ 题目描述 给你一个大小为 m x n 的整数矩阵 gri ...
- (四)Mysql之索引介绍
索引数据结构的选择:Hash表.二叉树.平衡二叉树.(红黑树近似于平衡二叉树).B树.B+树1)Hash表:Java的HashMap.TreeMap就是Hash表结构,以键值对存储,时间复杂度是O(1 ...
- EF Core迁移 (provider: SSL Provider, error: 0 - 证书链是由不受信任的颁发机构颁发的。)
A connection was successfully established with the server, but then an error occurred during the log ...
- vivado工具ila抓取的波形读取方法
保存ila文件 file-->export-->export ila_data.可以保存为ila格式或者vcd格式 (可以在modelism下转化为wlf文件后打开查看波形.) 打开保存后 ...
- 云服务器 CentOS 的使用历程
------------恢复内容开始------------ CentOS图形页面的下载 安装X(X Window System),命令如下: yum groupinstall "X Win ...
- java学习日记20230228-数据类型及加号运算
程序中+使用: 1.两侧是数值型,则相加: 2.一方为字符串,则拼接: 3.运算顺序从做到右: 数据类型 每一种数据都定义了明确的数据类型,在内存中分配了不同大小的内存空间: java数据类型 基本数 ...