2017-03-09 8 views

答えて

0

以下のコードを使用して数値を抽出することができます。

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

Sanjeetと同じアプローチ、さまざまなツール。

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

EDIT

は分割アプローチにあり限界があることに注意してください。どちらも(サジャイツと私の)マイナスの数字は許されません(マイナスは取り除かれます)。また、我々は整数を仮定する。私のアプローチは、しかし、浮動小数点数で動作するように変更することができます。