Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java理解库_Java_String_Boolean_Base - Fatal编程技术网

Java理解库

Java理解库,java,string,boolean,base,Java,String,Boolean,Base,嘿,我问了HW这个问题,但是读了几遍,我仍然没有完全理解它。我不明白我需要申请什么才能得到答案: for (int i = 0; i < value.length(); i++) { if (value.charAt(i) >= 0) { if (value.charAt(i) <= base) { return false; } } } re

嘿,我问了HW这个问题,但是读了几遍,我仍然没有完全理解它。我不明白我需要申请什么才能得到答案:

for (int i = 0; i < value.length(); i++) {
        if (value.charAt(i) >= 0)   {
            if (value.charAt(i) <= base) {
                return false; 

            }
        }
    }
    return true;
    }
for(int i=0;i=0){

如果(value.charAt(i)你的条件是相反的

应该是这样的,

for (int i = 0; i < value.length(); i++) {
        if (value.charAt(i) < '0')   {
              return false;
        }
        if (value.charAt(i) >= base + '0') {
                return false; 
        }
}
return true;

问题很清楚,你必须检查字符串
中的每个字符是否都是大于或等于
0
且小于
base
的数字。你到底在做什么?@Codebender我快弄明白了吗?我对基数的理解非常混乱。
的公共静态布尔值是有效的(字符串值,int base){for(int i=0;i>value.length();i++){if(value.charAt(i)>=0){if(value.charAt(i)
'是的..你真的很接近…只是一个小问题…只要一个字符正确,你的代码就会返回true…但是如果一个字符不正确,你就需要返回false…所以,否定你的条件,在循环之后,
返回false
内部和
true
。@Codebender它就快到了,我成功了ssful在
assertTrue(NumberSystemService.isValid(“0”,base));
但是在
assertFalse(NumberSystemService.isValid(“120”,2));
上运行失败可能是什么问题?编辑问题并放入代码…这样更容易获得帮助:)仍然给出了一个失败,我把Junit测试放在了问题中。这会影响解决方案吗?@Alex,实际上
for
循环中的条件是错误的。现在更正它。不工作,这些也是先决条件:
先决条件:value至少包含一个字符*param value*param base(2)你知道什么可能会影响这个工作,所以我可以修复它?@Alex,有问题了…实际上,当你做charAt()时,它会进行字符(ascii值)比较。所以你也需要将右侧更改为字符。检查我的编辑。
if (value.charAt(i) < '0' || value.charAt(i) >= base + '0') {
    return false;
}