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

问题描述

这是我的原始代码

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

如果我想获得输入行5A11(在同一行)。我应该怎么做才能获得这样的输入。是否可以在java中获得这样的输入

解决方法

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

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

您可以使用 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]);

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...