java吧 关注:1,270,722贴子:12,776,849
  • 12回复贴,共1

一个简单的问题求解!

只看楼主收藏回复

public class Fan{
final int SLOW=1;
final int MEDIUM=2;
final int FAST=3;
int speed;
void setSpeed(int s){
speed=s;
}
public static void main(String[]args){
Fan f=new Fan();
f.setSpeed(1);
System.out.println("速度为"+f.speed);
}
}
这样的话显示出来是“速度为1”,如果我想要显示“速度为SLOW”该怎么办呢?
我试过如果写f.setSpeed(SLOW);编译的时候会出错,无法引用非静态变量什么的。


1楼2017-04-20 20:09回复


    来自Android客户端2楼2017-04-20 20:12
    回复
      2025-07-23 19:02:01
      广告
      不感兴趣
      开通SVIP免广告


      来自Android客户端3楼2017-04-20 20:30
      回复


        来自Android客户端4楼2017-04-20 21:18
        回复
          局部变量


          IP属地:广东来自Android客户端5楼2017-04-20 21:20
          回复
            没像你这么傻屌,试试f.SLOW


            IP属地:广东来自Android客户端6楼2017-04-20 21:21
            回复
              再创建个方法。返回Int ,把returned slow.


              IP属地:广东7楼2017-04-20 21:22
              收起回复
                这种情况在c和c++要么define要么枚举要么static


                IP属地:广东来自Android客户端8楼2017-04-20 21:22
                回复
                  2025-07-23 18:56:01
                  广告
                  不感兴趣
                  开通SVIP免广告
                  封装个get方法?或者反射???


                  IP属地:吉林来自Android客户端9楼2017-04-20 23:21
                  收起回复

                    public class Fan {
                    final int SLOW = 1;
                    final int MEDIUM = 2;
                    final int FAST = 3;
                    int speed;
                    void setSpeed(int s) {
                    speed = s;
                    }
                    private String int2String(int speed) {
                    switch (speed) {
                    case SLOW:
                    return "SLOW";
                    case MEDIUM:
                    return "MEDIUM";
                    case FAST:
                    return "FAST";
                    }
                    return null;
                    }
                    public static void main(String[] args) {
                    Fan f = new Fan();
                    f.setSpeed(1);
                    System.out.println("速度为" + f.int2String(f.speed));
                    }
                    }


                    IP属地:辽宁10楼2017-04-21 11:15
                    回复