##CONTINUE##
這個小題目為製作一個簡單的金字塔,就像下面這個一樣:
想法如下:
for i = 1~10
println (10-i)*"_"+i*"*";
但是發現好像沒有辦法直接產生10String(python可以 ><)
想法改成:
for i=1~10
for j=(10-i)~1
print "_" //不換行
println "*"
*=*+"_*" (後來發現中間要有一個空格才可以形成金字塔)
話說如果是這樣的話,大概五分鐘就完成了,但是我想為了花俏一點,必須有個可以輸入要多少層的對話,比如說,製作10層的金字塔,沒想到這一部份居然花了近一個小時,翻書找怎麼寫鍵盤輸入,要try要BufferedReader要readline(matlab只要inputdialog),所以程式如下:
import java.io.*;
public class pyramid
{
public static void main(String args[])
{
try
{
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
int i,j,s;
String a=" ";
String k="*";
System.out.println("Input a number for building a pyramid");
String g = in.readLine();
s = Integer.parseInt(g);
for (i=1; i{
for (j=s-i; j>=0; j--)
{
System.out.print(a);
}
System.out.println(k);
k=k+" *";
}
}
catch(IOException e)
{
e.printStackTrace();
}
}
}
沒有留言:
張貼留言