public static void main(String[] args){
目前創(chuàng)新互聯(lián)公司已為上千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)站空間、綿陽(yáng)服務(wù)器托管、企業(yè)網(wǎng)站設(shè)計(jì)、東營(yíng)網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。
for(int i=0;i6;i++){
for(int j=0;j=i;j++){
if(i!=5){
if(j==0||j==i){
System.out.print("*");
}else{
System.out.print(" ");
}
}else{
System.out.print("*");
}
}
System.out.println();
}
}
希望對(duì)你有些幫助,算法可能不太簡(jiǎn)潔.
package com.tx.test;
public class Kong {
public static void main(String[] args) {
for(int i=0; i10; i++) {
for(int j=0; j2*i +1; j++) {
if(j==0 || j == 2*i || i==9 ) {
System.out.print("*");
}else {
System.out.print(" ?");//兩個(gè)空格
}
}
System.out.println();
}
}
}
結(jié)果:
一:設(shè)計(jì)思路:
1、空心的等腰三角形,用*作為三角形的邊,用空格做格式控制。
2、第一行輸出一個(gè)*號(hào),且要放在正中央,具體位置需要根據(jù)三角形的高度來(lái)確定。
3、因?yàn)槭堑妊切?,所以每一行?號(hào)組成的有效字符串長(zhǎng)度比上一行多2個(gè)。
4、綜合2、3,該三角形的*號(hào)間的有效字符串長(zhǎng)度,按1、3、5、7...規(guī)律變化
5、所以,第一行輸出的*號(hào)位置由三角形的高決定,設(shè)高度為h,則第一行*號(hào)位置為第(2*h-1)/2+1,簡(jiǎn)化后為h(因?yàn)閱螖?shù)/2后的0.5在int型變量計(jì)算中被忽略)。
6、空心的實(shí)現(xiàn)中,從第二行輸出*號(hào)后開(kāi)始插入空格,個(gè)數(shù)每行加2,直到最后一行,不包含最后一行。
二:實(shí)現(xiàn)方法
1、定義三角形的高,改變?cè)撝?,可以改變?nèi)切蔚拇笮 ?/p>
2、根據(jù)高度,將*號(hào)放在對(duì)應(yīng)h位置,用空格做格式控制,空格個(gè)數(shù)每行-1。
3、如果是第二行且不是最后一行(大于1且小于h),在輸出*號(hào)后,輸出空格,以后每行多輸出兩個(gè)空格
4、最后一行全部輸出*號(hào)
//java代碼:設(shè)計(jì)空心等腰三角形
public?class?IsoscelesTriangleTest?{
/**
?*?一:設(shè)計(jì)思路:
?*?1、空心的等腰三角形,用*作為三角形的邊,用空格做格式控制。
?*?2、第一行輸出一個(gè)*號(hào),且要放在正中央,具體位置需要根據(jù)三角形的高度來(lái)確定。
?*?3、因?yàn)槭堑妊切?,所以每一行?號(hào)組成的有效字符串長(zhǎng)度比上一行多2個(gè)。
?*?4、綜合2、3,該三角形的*號(hào)間的有效字符串長(zhǎng)度,按1、3、5、7...規(guī)律變化
?*?5、所以,第一行輸出的*號(hào)位置由三角形的高決定,設(shè)高度為h,則第一行*號(hào)位置為第(2*h-1)/2+1,
?*?簡(jiǎn)化后為h(因?yàn)閱螖?shù)/2后的0.5在int型變量計(jì)算中被忽略)。
?*?6、空心的實(shí)現(xiàn)中,從第二行輸出*號(hào)后開(kāi)始插入空格,個(gè)數(shù)每行加2,直到最后一行,不包含最后一行。
?*?二:實(shí)現(xiàn)方法
?*?1、定義三角形的高,改變?cè)撝?,可以改變?nèi)切蔚拇笮 ?/p>
?*?2、根據(jù)高度,將*號(hào)放在對(duì)應(yīng)h位置,用空格做格式控制,空格個(gè)數(shù)每行-1。
?*?3、如果是第二行且不是最后一行(大于1且小于h),在輸出*號(hào)后,輸出空格,以后每行多輸出兩個(gè)空格
?*?4、最后一行全部輸出*號(hào)
?*?三:圖示,5層空心等腰三角形
?*????????*
?*???????*?*
?*??????*???*
?*?????*?????*
?*????*********
?*?
?*?*/
//定義三角形的高度,改變此值,可改變?nèi)切蔚拇笮?,必須大于等?
public?static?final?int?HEIGHT?=?9;
public?static?void?main(String[]?args)?{
//?TODO?Auto-generated?method?stub
int?count?=?HEIGHT?-?1; //定義輸出空格個(gè)數(shù),初值為第一行要輸出的空格個(gè)數(shù)
System.out.println("空心等腰三角形,高度:"+HEIGHT);
for(int?row?=?1;row?=?HEIGHT;row++,count--){
//輸出空格
for(int?i?=?0;i??count;i++){
System.out.print("?");
}
System.out.print("*");
//是第一行,則直接換行,最后一行輸出全部*號(hào),否則從第二行開(kāi)始輸出空格,每行+2
if(row?==?1){
System.out.println();
}else?if(row?==?HEIGHT){
for(int?i?=?0;i??row*2-2;i++){
System.out.print("*");
}
System.out.println();
}else?if(row??1??row??HEIGHT){
for(int?i?=?0;i??row*2-3;i++){
System.out.print("?");
}
System.out.println("*");
}
}
}
}
運(yùn)行結(jié)果圖:
理解思路和實(shí)現(xiàn)方法后,閱讀代碼會(huì)簡(jiǎn)單些,注意格式控制中的算式,都是有規(guī)律可循的。