2014-10-03 60 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

我终于搞明白了,我用空格代替了主要方法中的空字符串返回,现在它工作得非常好!感谢你的帮助!

相关问题