-1
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);
    }
}

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

4

3 回答 3

5

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

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;
}

更多关于枚举。

于 2012-07-02T17:22:47.153 回答
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);
    }
}

您可以在此演示中看到它的工作原理。

于 2012-07-02T17:24:21.143 回答
0

if (up) then up 被按下

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

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

if (down)

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

于 2012-07-02T17:22:23.387 回答