在同一行中获取整数和字符

Get Integer and Character in Same Line

这是我的原始代码

int n1=nextInt();
String ch=next().split("");
int n2=nextInt().split("");

如果我想获得输入行 5A11(在同一行)。我应该怎么做才能获得像 this.IS 这样的输入,可以在 java[ 中获得这样的输入=12=]

您可以使用 String#split.

int[] parseInput(String input) {
    final String[] tokens = input.split("A");        // split the string on letter A
    final int[] numbers = new int[tokens.length];    // create a new array to store the numbers
    for (int i = 0; i < tokens.length; i++) {        // iterate over the index of the tokens
        numbers[i] = Integer.parseInt(tokens[i]);    // set each element to the parsed integer
    }
    return numbers;
}

现在您可以将其用作

int[] numbers;

numbers = parseInput("5A11");
System.out.println(Arrays.toString(numbers));    // output: [5, 11]

numbers = parseInput("123A456");
System.out.println(Arrays.toString(numbers));    // output: [123, 456]
String input = "123C567";
String[] tokens = input.split("[A-Z]");
int first = Integer.parseInt(tokens[0]);
int second = Integer.parseInt(tokens[1]);

将输入读取为字符串。然后使用下面的代码从字符串中删除字符,然后对整数求和。

String str = "123ABC4";
int sum = str.replaceAll("[\D]", "")
            .chars()
            .map(Character::getNumericValue)
            .sum();
    
System.out.println(sum);