English Deutsch Français Italiano Español Português 繁體中文 Bahasa Indonesia Tiếng Việt ภาษาไทย
所有分類

我目前是要寫空心菱形的程式
但是有點怪怪的
我所需要的是:input n(菱形的高度)---->範圍7~21
EX.輸入7
output:
*
* *
* *
* *
* *
* *
*

以下是我的程式:

import java.io.*;
public class PIC
{
private static BufferedReader keyin = new BufferedReader(new InputStreamReader(System.in));
public static void main(String[] args) throws IOException
{
System.out.println("請輸入您所需的高度:");
int n = Integer.parseInt(keyin.readLine());

for(int i=1; i<=n; i++){
for(int j=n-i;j>0;j--) System.out.print(" ");
for(int j=i*2-1; j>0; j--){
if(j==1 || j==i*2-1)
System.out.print("*");
else
System.out.print(" ");
}
System.out.println();
}
for(int i=n-1; i>=1; i--){
for(int j=n-i;j>0;j--) System.out.print(" ");
for(int j=i*2-1; j>0; j--){
if(j==1 || j==i*2-1)
System.out.print("*");
else
System.out.print(" ");
}
System.out.println();
}
}
}

請各位大大幫我檢查看看哪裡出了問題
謝謝!!

2007-11-02 20:07:52 · 4 個解答 · 發問者 南哥 2 in 電腦與網際網路 程式設計

4 個解答

親愛的版大大~
你的程式蠻正常的呀
可以很順利的跑出來~
不曉得你說的奇怪的地方再哪裡呢???
說出來大家幫你想想~~

如果你是想設定範圍~
只要再加個 if 判斷輸入值是否在你的範圍內
如果沒有~則重新輸入或跳出皆可~
有問題再提出來吧^.^

2007-11-02 23:20:52 · answer #1 · answered by 皓呆☆浪跡天涯 4 · 0 0

import java.io.*;
import java.util.*;
public class TEST
//檔名:TEST.java
{
public static void main(String[] args)
{
PrintStream o=new PrintStream(System.out);
Scanner in=new Scanner(System.in);
o.printf("Input n: ");
int n=in.nextInt();
int row=((n&1)!=1?(n+1):n);
for(int i=0;i {
int col=row;
for(int j=0;j {
o.printf("%s",(i<(row/2+1)?((j!=(col/2-i))&&(j!=(col/2+i))?" ":"*"):((j!=(i-col/2))&&(j!=(col/2+row-1-i))?" ":"*")));
}
o.print("\n");
}
}
}

2007-11-03 14:12:34 · answer #2 · answered by Big_John-tw 7 · 0 0

若輸入整數 都沒問題

若輸入非數字 或 有小數的 就會例外錯誤

2007-11-03 05:49:53 · answer #3 · answered by ? 3 · 0 0

跑起來滿正常的..
請問你所說的怪怪的是指什麼呢?

2007-11-02 20:50:53 · answer #4 · answered by Nick 3 · 0 0

fedest.com, questions and answers