什么参数的功能

时间:2012-07-02 17:16:30

标签: java

class Scroll {
    static boolean up;
    static boolean down;
    public static void scroll(boolean direction) {
        if (/* ... */) {
            System.out.println("UP");
        }
        else {
            System.out.println("DOWN");
    }
}

public class Test2 {
    public static void main(String[] args) {
        Scroll.scroll(Scroll.up);
    }
}

如何使用Scroll.upScroll.down来检查调用了哪个字段?我知道在上面的代码中我可以通过其他方式获得相同的效果,但它是我的问题的本质的简化代码。

3 个答案:

答案 0 :(得分:5)

如果唯一的选择是向上或向下,您可以将direction重命名为up,然后:

if (up) {
    // Up
}
else {
    // Down
}

如果有更多方向(例如左右),或者即使不是真的,这就是enum方便的地方:

enum Direction {
    Up,
    Down,
    Left,
    Right
}

然后在您的代码中使用它,可能使用switch

switch (direction) {
    case Direction.Up:
        // ...
        break;
    case Direction.Down:
        // ...
        break;
    case Direction.Left:
        // ...
        break;
    case Direction.Right:
        // ...
        break;
}

More about enums.

答案 1 :(得分:1)

正如评论所建议的那样,使用枚举:

class Scroll {
    public static enum Direction { up, down};
    public static void scroll( Direction direction) {
        if ( direction == Direction.up) {
            System.out.println("UP");
        }
        else {
            System.out.println("DOWN");
        }
    }
}

public class Test2 {
    public static void main(String[] args) {
        Scroll.scroll( Scroll.Direction.up);
    }
}

您可以在this demo中看到它。

答案 2 :(得分:0)

如果(向上)则按下

如果(向下)然后向下按下。

布尔数据类型是(true / false,1/0)所以如果你调用

if (down)

如果down为“true”,它将进入。