【发布时间】:2013-11-30 22:48:14
【问题描述】:
所以我为我的 AP 计算机科学课程编写了一些代码,但我的老师要求我不要在我的代码中使用 char 或 token。我特别有这个代码,我需要一个替代(非字符)版本。
// returns the first nonzero digit of a string, 0 if no such digit found
public static int firstDigitOf(String token) {
for (char ch : token.toCharArray()) {
if (ch >= '1' && ch <= '9') {
return ch - '0';
}
}
return 0;
}
所以是的,请帮助我。这不是家庭作业,它是大型项目的一部分,因此特别感谢整行代码。
or (char ch : token.toCharArray()) {
这是我最麻烦的,我只是不知道另一种写法。
【问题讨论】:
-
字符串是由字符组成的,如果你不想使用字符,你必须不使用字符串。相反,您可以使用 byte[].
-
你的代码看起来非常好,顺便说一句。
-
token 只是一个变量名。他的意思是您不应该将输入字符串转换为 CharArray 或使用任何基于字符的方法吗?
-
你可以用正则表达式来做,但我不推荐它。您编写它的方式既高效又清晰。但是,您的任务似乎不是编写好代码,而是解决难题。正则表达式应该能够提取单个字符,而无需编写循环或触摸单个字符值。
-
他可能希望你使用
substring()并可能使用递归。
标签: java optimization coding-style