我正在用 Java 编写一个 Atoi 函数。它对于 +ve 整数运行良好。但我想要的是,当我输入负整数时,它应该给我一个错误。所以我尝试在我的 Atoi 类中包含 continue 语句。实现的类是:
class Atoi {
int atoi(String tmp) {
int result = 0;
for (int i = 0; i < tmp.length(); i++) {
char digit = (char)(tmp.charAt(i) - '0');
if(digit == '-')
continue;
}
else {
result += (digit * Math.pow(10, (tmp.length() - i - 1)));
}
return result;
}
}
但不幸的是,它给了我该字符的负等价物,即 -12 它给了我 655312!帮助。
编辑:假设我需要检查 float 我应该做什么?如果我输入 12.1 或 123.2,它应该分别返回 12.1 和 123.2!
最佳答案
您应该给出一个错误(抛出异常、返回 -1
或任何您所说的“给出错误”的意思),而不是继续
。
如果您想忽略 -
,您可以将 else 子句更改为:
result = digit + result * 10;
关于java - Java 中 Atoi 表示负值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13252136/