需要使用if / else语句在For循环中返回两个值

Mar*_*dua -3 java for-loop

我在学校里有这份作业,我需要将数字和字母分开并分开打印。我的问题是我只能返回一个值,而不是if / else语句中的字母,我需要返回两个值,以便分别打印数字和字母。

关于仅用一种方法怎么做的任何建议?

public static String Separation(String output) {
    String number = "";
    String letter = "";
    for (int i = 0; i < output.length(); i++) {
        char x = output.charAt(i);
        if (Character.isDigit(x)) {
            number += x;
        } else {
            letter += x;
        }
    }
    return number;
}
Run Code Online (Sandbox Code Playgroud)

Gho*_*ica 10

您可以执行以下操作:

  • 返回一个字符串数组: return new String[] { number, letter };
  • 或返回一个字符串列表: return Arrays.asList(number, letter)

或者,更多的OOP:创建一个包含两个 String的小类,例如:

class Entry {
  String number;
  String letter;
...
Run Code Online (Sandbox Code Playgroud)

然后返回该类的实例。当然,您必须相应地调整方法的签名,以使用所需的返回类型代替public String ...。