2014-10-03 59 views
0

我有這個非常具體的編程任務。我需要僅使用循環和if語句來繪製x軸和y軸,並且它所在的方法只能返回字符串,不管是軸,還是空字符串「」。我有它幾乎正確,但我不明白爲什麼Y軸不在x == 0打印,但在x == -10。我很想知道如何解決這個問題,我相信這是我忽略的一些小問題。它確實有效,我返回「」而不是「」,但我不允許這樣做。謝謝!使用循環和字符串繪製X和Y軸

public class Try1 { 
public static void main(String[] args) { 

    int height = 10; 
    int width = 10; 

    for (int y = height; y >= -10; y--){ 
    for (int x = -10 ; x <= width; x++){ 
    DrawAxis(x,y); 
    System.out.print(DrawAxis (x,y)); 

    } 
    System.out.print("\n"); 
    } 

} 




public static String DrawAxis(int x, int y) 
{ 
    if (x == 10 && y == 0) 
     return ">"; 
    else 
    if (x == 0 && y == 10) 
     return "^"; 
    else 
    if (x == 0 && y == 0) 
     return "."; 
    else 
     if (x == 0 && y >= -10) 
     return "|"; 
    else 
    if (x >= -10 && y == 0) 
     return "-"; 

return "";} 
} 
+0

你究竟想要畫什麼形狀? – dosdebug 2014-10-03 23:54:43

+0

我想在20乘20的空間中畫兩條軸線(如十字)。 – 2014-10-04 01:30:44

回答

0

由於在第二個for循環中將「x」變量初始化爲-10,因此它開始在-10處打印x。

另外,在命名方法和變量時使用camel-case是慣例,因此您應該真正將方法重命名爲「DrawAxis」中的「drawAxis」,以便於閱讀。

+0

該方法是由我的老師命名的,我無法改變它......但這就是我認爲規則也是這樣的! – 2014-10-04 01:02:53

+0

我將寬度和高度更改爲20,所以中間現在是(10,0),但它仍以相同方式打印。你能解釋一下爲什麼它這麼做嗎? – 2014-10-04 01:53:16

+0

你在第二個for循環中更改了x的起始值嗎? – SamTebbs33 2014-10-04 06:59:00

0

if(x == 0 & & y> = -10) return「在symbole之前使用很多空間:|」; 編譯並運行,然後查看|的位置,然後根據需要添加空格或減號空間(一個小的請求,請在帖子中提示線條和拋物線部分,這將非常讚賞),其中拋物線與直線相交線。

0

我終於搞明白了,我用空格代替了主要方法中的空字符串返回,現在它工作得非常好!感謝你的幫助!

相關問題