標準入力を使用してすべての「変数」を整数に置き換えようとしています。すべての変数を整数に置き換えます
入力文字列:
"PQ + PQ + PQR + 4"
言う、Iはpq
pqr
及び3に1を入力します。私が取得したい何 は、私はこれを得ることができる方法
"+ 4 + 1 + 3"
のですか? 現在、私のコードはpqr
を1r
と置き換えていますが、これは無効です。
// replaces all variables to integer or double
String evalVariables(String line) {
Pattern p = Pattern.compile("(?i)(?:^|\\s+)([a-z]+)");
Matcher m = p.matcher(line);
while (m.find()) {
String targetStr = m.group();
System.out.println("targetStr: " + targetStr);
System.out.println("Enter a integer or a double value for the variable ");
System.out.print("[" + targetStr + "]: ");
Scanner sc = new Scanner(System.in);
String newStr = sc.next();
line = line.replaceAll(targetStr, newStr);
System.out.println("After replacement: "+ line);
m = p.matcher(line);
}
return line;
}