java利用for循环打印三角形
2018-02-06 16:44
357 查看
自己的基础一直很薄弱。今天看了韩顺平老师的讲座视频补充了很多。
把用for循环打印左半边三角形、右半边三角形、实心、空心三角形做了一个整理。
和视频中的代码略微有些区别,我是以i=0开始定义数组。所以逻辑表达式也有不同的地方。
不过令i=1更容易理解,逻辑也比较容易推理。但其实数组的下标都是从零开始的。
public class demo {
public static void main(String[]args)
{
int lay=4;
halfRight(lay);
System.out.println();
halfLeft(lay);
System.out.println();
doublePrint(lay);
System.out.println();
emptyPrint(lay);
}
public static void halfRight(int lay) {
for(int i=0;i<lay;i++) {
for(int j=0;j<=i;j++){
System.out.print("*");
}
System.out.println();
}
}
public static void halfLeft(int lay) {
for(int i=0;i<lay;i++) {
for(int k=0;k<lay-1-i;k++) {
System.out.print(" ");
}
for(int j=0;j<=i;j++){
System.out.print("*");
}
System.out.println();
}
}
public static void doublePrint(int lay) {
for(int i=0;i<lay;i++) {
for(int k=0;k<lay-1-i;k++) {
System.out.print(" ");
}
for(int j=0;j<2*i+1;j++) {
System.out.print("*");
}
System.out.println();
}
}
public static void emptyPrint(int lay) {
for(int i=1;i<=lay;i++) {
for(int k=1;k<=lay-i;k++) {
System.out.print(" ");
}
//考虑星号时,先忽略空格打法,目标如下:
// *
// * *
// * *
// *******
for(int j=1;j<=(2*i-1);j++) {
if(i==1 || i==lay) System.out.print("*");
//第一行和最后一行打满
else {
if(j==1||j==2*i-1) {
System.out.print("*");
//第一列或者最后一列再打星号
}
else {
System.out.print(" ");
//其他列都打空格
}
}
}
System.out.println();
}
}
}
运行结果:
把用for循环打印左半边三角形、右半边三角形、实心、空心三角形做了一个整理。
和视频中的代码略微有些区别,我是以i=0开始定义数组。所以逻辑表达式也有不同的地方。
不过令i=1更容易理解,逻辑也比较容易推理。但其实数组的下标都是从零开始的。
public class demo {
public static void main(String[]args)
{
int lay=4;
halfRight(lay);
System.out.println();
halfLeft(lay);
System.out.println();
doublePrint(lay);
System.out.println();
emptyPrint(lay);
}
public static void halfRight(int lay) {
for(int i=0;i<lay;i++) {
for(int j=0;j<=i;j++){
System.out.print("*");
}
System.out.println();
}
}
public static void halfLeft(int lay) {
for(int i=0;i<lay;i++) {
for(int k=0;k<lay-1-i;k++) {
System.out.print(" ");
}
for(int j=0;j<=i;j++){
System.out.print("*");
}
System.out.println();
}
}
public static void doublePrint(int lay) {
for(int i=0;i<lay;i++) {
for(int k=0;k<lay-1-i;k++) {
System.out.print(" ");
}
for(int j=0;j<2*i+1;j++) {
System.out.print("*");
}
System.out.println();
}
}
public static void emptyPrint(int lay) {
for(int i=1;i<=lay;i++) {
for(int k=1;k<=lay-i;k++) {
System.out.print(" ");
}
//考虑星号时,先忽略空格打法,目标如下:
// *
// * *
// * *
// *******
for(int j=1;j<=(2*i-1);j++) {
if(i==1 || i==lay) System.out.print("*");
//第一行和最后一行打满
else {
if(j==1||j==2*i-1) {
System.out.print("*");
//第一列或者最后一列再打星号
}
else {
System.out.print(" ");
//其他列都打空格
}
}
}
System.out.println();
}
}
}
运行结果:
相关文章推荐
- Java中利用for循环打印直角三角形,倒立直角三角形,等腰三角形,平行四边形,菱形等
- JAVA使用for循环打印三角形
- java 利用*号打印三角形
- java的FOR循环 打印三角形
- java中使用for循环去打印正方形,三角形,菱形等图形
- JAVA——程序流程控制——循环语句——for循环(打印三角形)
- 利用for循环打印出不同的三角形
- java 利用for循环打印九九乘法口诀
- Java使用for循环打印乘法口诀(正倒左右三角形)
- 1.6-Java-利用for循环实现三角形星型
- java打印三角形,空心,for循环嵌套
- 大三学长带我学习JAVA.作业7 利用for循环打印 9*9 表
- java打印直角三角形,for循环嵌套
- java打印99乘法表,双重for循环
- java 打印三角形
- java 利用jsp打印html页面
- Java利用可变参数函数写一个打印方法。
- 在java中如何用 for循环打印出一个菱形
- JAVA——程序流程控制——循环语句——for循环(打印平行四边形)
- 不知道写个什么,就写个利用for循环打印空心菱形当笔记