在条件语句中验证范围的更快捷方法?

时间:2016-05-08 18:54:51

标签: java integer conditional

我目前正在做一些事情(对于练习,我是初学者),需要很多整数范围。现在基本上常识就是这样做:

pass

但是,我觉得必须有一种更快的方法来创建条件语句的范围,我无法想象这是最快的方法。如果没有,那没关系。如果有更快的方法,我只是不想这样做。感谢。

2 个答案:

答案 0 :(得分:0)

如果您要映射涵盖整个范围的值,您可以通过控制它们的顺序来使用单个比较,并从函数返回值作为跳过以后比较的方法:

public String ageDescription(short age){
    if (age < 2){
        return "less than 2";
    }

    if (age <= 3){
        // we know age >= 2 since we didn't return
        return "more than 2 but less than or equal to 3";
    }
    // no comparison for last value
    return "You're older than 3";
}

然而,你现在这样做的方式非常好。

答案 1 :(得分:0)

您可以为此创建一个类,例如:

data<-as.data.frame(data)

data[,] <- lapply(data[,], function(x) as.numeric(as.character(x)))

indice <- indice*1

data$divq <- data$dvy - (data$lagdvy * indice)

这就是你如何使用它:

public class Range{
    int min;
    int max;
    String msg;
    public Range(int min, int max, String msg){
        this.min = min;
        this.max = max;
        this.msg = msg;
    }
    public boolean isInRange(int val){
        return val >= min && val <= max;
    }

    public void showMessage(){
        System.out.println(msg);
    }
}

我不确定这是否会让它变得更容易,但它确实使它更具动态性,它使得在运行时添加/删除范围变得更加容易。