Java利用for循環(huán)輸出空心三角形、空心菱形和空心矩形的代碼
空心三角形
空心三角形輸出需要用到判斷語句,判斷每行的空格與星號的輸出,下面寫出了完整語句,及相關(guān)語句的詳細(xì)注釋。空心菱形同樣類似
package com.zhebie.test;
public class KongTraingle {
public static void main(String[] args) {
int n=5; //n表示輸出空心三角形行數(shù),這里以5行為例
for(int i=1;i<=n;i++) {
for(int j=1;j<=n-i;j++) { //控制每行最前面的空格
System.out.print(" ");
}
for (int k = 1; k <= 2*i-1; k++) { //控制總的星號和空格
if(i==1||i==n) {
/* 控制第一行的與最后一行的星號
* 當(dāng)i等于n時,每次循環(huán)都只會走這一句
* 所以會打印2*n-1個星號 */
System.out.print("*");
}else if(k==1||k==2*i-1) { //控制第二行到n-1行的星號的輸出
System.out.print("*");
}else { //控制第二行到n-1行的空格的輸出
System.out.print(" ");
}
}
System.out.println(); //每行輸出完畢后進(jìn)行換行操作
}
}
}

空心菱形
空心菱形的上半部分與空心三角形完全一樣,但是最后一行不能打印星號。
它的下半部分只需要控制上半部分行數(shù)減一,判斷部分也會做相應(yīng)的調(diào)整,具體下方代碼已做詳細(xì)說明
package com.zhebie.test;
public class KongTraingle {
public static void main(String[] args) {
int n=5;
//這里輸出菱形的上半部分
for(int i=1;i<=n;i++) {
for(int j=1;j<=n-i;j++) { //控制每行最前面的空格
System.out.print(" ");
}
for (int k = 1; k <= 2*i-1; k++) { //控制總的星號和空格
if(i==1) {
/* 控制第一行的與最后一行的星號
* 當(dāng)i等于n時,每次循環(huán)都只會走這一句
* 所以會打印2*n-1個星號 */
System.out.print("*");
}else if(k==1||k==2*i-1) { //控制第二行到n-1行的星號的輸出
System.out.print("*");
}else { //控制第二行到n-1行的空格的輸出
System.out.print(" ");
}
}
System.out.println(); //每行輸出完畢后進(jìn)行換行操作
}
//這里輸出菱形的下半部分
for(int i=1;i<n;i++) { //控制四行,所以不能使用小于等于號
for(int j=1;j<=i;j++) { //控制每行最前面的空格
System.out.print(" ");
}
for (int k = 1; k <= 2*(n-i)-1; k++) { //控制總的星號和空格
if(k==1||k==2*(n-i)-1) { //控制第一個星號和最后一個星號
System.out.print("*");
}else { //控制中間空心部分
System.out.print(" ");
}
}
System.out.println(); //每行輸出完畢后進(jìn)行換行操作
}
}
}

空心矩形
空心矩形相對于空心三角形和空心菱形更簡單
package com.zhebie.test;
public class KongRectangle {
public static void main(String[] args) {
int n = 5;
for (int i = 1; i <=n; i++) { //控制輸出行數(shù),由于行與行之間有空格效果,所以打印效果為矩形
for (int j = 1; j <=n; j++) {
if(i==1||i==n) { //控制第一行與最后一行的星號
System.out.print("*");
}
else if(j==1||j==n) { //控制第二行到倒數(shù)第二行星號
System.out.print("*");
}else{ //控制第二行到倒數(shù)第二行空格
System.out.print(" ");
}
}
System.out.println(); //每輸出完一行進(jìn)行換行操作
}
}
}

輸出這些空心圖形,主要方式就是在for循環(huán)中做判斷輸出
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接
相關(guān)文章
Java substring方法實(shí)現(xiàn)原理解析
這篇文章主要介紹了Java substring方法實(shí)現(xiàn)原理解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-05-05
Java實(shí)現(xiàn)解析并生成xml原理實(shí)例詳解
這篇文章主要介紹了Java實(shí)現(xiàn)解析并生成xml原理實(shí)例詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-06-06

