确定字符串是否为十六进制数字的递归方法-Java
||
这是一个作业问题,我有点麻烦。
编写一个确定字符串是否为十六进制数字的递归方法。
为您的方法编写javadocs。
如果每个字符均为一个,则字符串为十六进制数字
0或1或2或3或4或5或6或7或8或9
或a或A或b或B或c或C或d或D或e或E或f或f。
目前,我能看到的所有测试结果是,如果字符串0处的字符是他提供给我的这些值之一,则该部分为十六进制。
有什么提示或建议可以帮助我吗?
到目前为止,这就是我的意思:
public boolean isHex(String string){
if (string.charAt(0)==//what goes here?){
//call isHex again on s.substring(1)
}else return false;
}
`
没有找到相关结果
已邀请:
5 个回复
哩翔购
邵酮
提示或建议,根据要求: 所有递归方法都使用不同的输入(嗯,希望是不同的输入!) 所有递归方法都有停止条件。 您的方法签名应如下所示
另外,请不要忘记十六进制字符串可以以\“ 0x \”开头。这可能(很难)完成,所以我首先要使常规函数起作用。如果以后再解决,请记住不要通过0xABCD0x123。 :-) 关于子字符串:直接来自String类源:
offset是类型为“ 5”的成员变量 value是类型为“ 6”的成员变量 它调用的构造函数是
显然,它是一个O(1)方法,调用了O(1)构造函数。之所以可以这样做,是因为String是不可变的。您不能更改字符串的值,只能创建一个新的字符串。 (由于它们是无关紧要的解决方案,因此省去了反射和ѭ8)之类的东西!)由于无法更改,因此您也不必担心其他一些Thread会使其混乱,因此可以像乡村自行车一样四处走动。
盟犯涩沟都
亲奋漏
中的布尔值AND。
襄挟款籍