我有一个非常具体的编程任务。我只需要使用循环和if-else语句绘制x和y轴,它所在的方法只能返回字符串,要么是轴字符,如|,要么是空字符串"。我认为它几乎是正确的,但我不明白为什么y轴不是在x==0打印的,而是在x==-10打印的。我很想知道如何解决这个问题,我相信这是我忽略的一个小问题。如果我返回"而不是",它确实有效,但我不被允许这样做。谢谢
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 "";}
}
由于在第二个for循环中将"x"变量初始化为-10,因此开始在-10处打印x。
此外,在命名方法和变量时使用camel大小写是惯例,因此您应该将方法从"drawAxis"重命名为"drawAxis",以提高可读性。
if(x==0&&y>=-10)return"在符号前使用多个空格:|";编译并运行,然后看到|的位置,然后根据需要添加空格或减空格,(有一个小要求,请在帖子中为直线和抛物线部分提供提示,我们将不胜感激)抛物线与直线相交的地方。
我终于弄明白了,我用空格代替了主方法中的空字符串返回,现在它工作得非常好!谢谢你的帮助!