package com.tx.test;
成都創(chuàng)新互聯(lián)公司從2013年創(chuàng)立,先為埇橋區(qū)等服務(wù)建站,埇橋區(qū)等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為埇橋區(qū)企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問(wèn)題。
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é)果:
public static void main(String[] args){
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)潔.
一:設(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ī)律可循的。
Java語(yǔ)言打印空心三角形的程序如下:
public class Test3 {
public static void main(String[] args) {
final int SIZE=5;
for(int i=1;i=SIZE;i++){
for(int j=1;j=SIZE-i;j++){
System.out.print(" ");
}
for(int k=1;k=2*i-1;k++){
if(i==SIZE)
System.out.print("*");
else if((k==1 || k==2*i-1) i!=SIZE )
System.out.print("*");
else
System.out.print(" ");
}
System.out.println();
}
}
}