【问题标题】:Conversion table HTML/PHP/Java转换表 HTML/PHP/Java
【发布时间】:2020-06-16 05:51:30
【问题描述】:

我需要制作一个转换表,基本上说明如果变量 1 在此范围内,而变量 2 在此范围内,则变量 3 = x。我已经在 PHP 中完成了这个并且它可以工作,但是对于我当前的项目 PHP 将无法工作。是否有另一种直接的方法可以通过 Java 或其他方式来实现这一点?如果有人能引导我朝着正确的方向前进,那就太好了!

这是工作 PHP 版本的片段:

if(in_array($Var1, range(-10,-1))){

    if(in_array($Var2, range(0,1049))){
        $var3 =  "8";   
    }
    if(in_array($Var2, range(1050,1149))){
        $var3 =  "9";   
    }
    if(in_array($Var2, range(1150,1249))){
        $var3 =  "9";   
    }
    if(in_array($Var2, range(1250,1349))){
        $var3 =  "10";  
    }
    if(in_array($Var2, range(1350,1449))){
        $var3 =  "11";  
    }
    if(in_array($Var2, range(1450,1550))){
        $var3 =  "12";  
    }
}

if(in_array($cwr, range(-20,-11))){

    if(in_array($Var2, range(0,1049))){
        $var3 =  "9";   
    }
    if(in_array($Var2, range(1050,1149))){
        $var3 =  "9";   
    }
    if(in_array($Var2, range(1150,1249))){
        $var3 =  "10";  
    }
    if(in_array($Var2, range(1250,1349))){
        $var3 =  "11";  
    }
    if(in_array($Var2, range(1350,1449))){
        $var3 =  "12";  
    }
    if(in_array($Var2, range(1450,1550))){
        $var3 =  "13";  
    }
}

【问题讨论】:

  • 你不能在 Java 中为你创建一个方法,比如boolean inRange(int x, int start, int end) { return start <= x && x <= end; }吗?
  • 这不是一些非常低效的PHP代码吗?您正在创建一个由 50 个整数组成的数组,然后进行昂贵的数组查找,以测试变量是否落在每个范围的极值之间。 @user 在 Java 中的直截了当的答案最好代替你的 PHP 来实现。
  • 我投票结束这个问题,因为这个问题要求翻译代码 - 它不包括他们迄今为止为实现这一目标所做的努力,也不涉及某些语言PHP 中存在的功能,他们试图在 Java 中找到与之等效的功能。

标签: java php html


【解决方案1】:

如上所述,有一种更有效的方法可以实现此功能。我们可以简单地测试变量是否在两个范围内,而不是每次都使用 range() 创建一个新数组。

例如:

x = 12;
if(5 <= x && x <= 15){
    System.out.println("x in range");
}

将打印“x in range”,因为 12 既大于 5 又小于 15。如上面用户所述,您可以将其转换为函数:

boolean inRange(int x, int lower, int upper){
    return (lower <= x && x <= upper);
}

这段代码简单高效,应该完全符合您的要求!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-08-03
    • 2019-04-10
    • 2012-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多