2017-03-09 2 views

Antwort

0

Sie können den folgenden Code verwenden, um die Zahlen zu extrahieren.

LinkedList<Integer> numbers = new LinkedList<Integer>(); 

    Pattern p = Pattern.compile("\\d+"); 


    String line = "9/8*9+3"; 
    Matcher m = p.matcher(line); 
    numbers.clear(); 
    while (m.find()) { 
     numbers.add(Integer.parseInt(m.group())); 
    } 
0

Gleicher Ansatz wie Sanjeet, verschiedene Werkzeuge.

List<Integer> numbers = new ArrayList<>(); 
String expression = "9/8*9+3"; 
for (String number : expression.split("[\\+-/\\*]")) { 
    numbers.add(Integer.parseInt(number)); 
} 

EDIT

bewusst sein, dass es Einschränkungen für die Spaltung Ansätze. Beides (Sajeets und meins) lässt keine negativen Zahlen zu (das Minus wird abgezogen). Auch wir nehmen beide ganze Zahlen an. Mein Ansatz könnte jedoch geändert werden, um mit Gleitkommazahlen zu arbeiten.

Verwandte Themen