java - Java 中此代码的替代方案

标签 java optimization coding-style

所以我为我的 AP 计算机科学类(class)编写了一些代码,但我的老师要求我不要在代码中使用 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()) {

这是我最麻烦的地方,我只是不知道另一种写法。

最佳答案

你可以使用这个

String token = "helo100s23h04dsd sdksjdksa";
token = token.replaceAll("[^1-9]", "");
 // in this case token value will be -> 1234, and the first none zero digit is 1
 if (token.length() <= 0) {
  // if there is no numbers in token larger than 0
    return 0;
   } else {
   return Character.getNumericValue(token.charAt(0));
 }

关于java - Java 中此代码的替代方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20306538/

相关文章:

mysql - 为什么索引使用取决于列类型

coding-style - 是否有更易读的方式为k,v成对编写(my_table)…如果我从不使用k,则以lua结尾?

用于拆分 RDF 文件的 Java API

没有换行符的 JavaFX TextFlow

java - 具有 NIO channel 的简单客户端-服务器程序

c++ - 匈牙利算法 : I'm having trouble with assigning as many jobs to workers as possible

java - 在 JSTL 中访问 Map<Enum, Object>

python - 通过迭代创建列表的最快方法

Javascript:什么是多级原型(prototype)层次结构以及为什么我们应该避免它

design-patterns - 应用干净的代码和 SOLID 原则花了我很多时间 : normal?