표준 입력을 사용하여 모든 "변수"를 정수로 바꾸려고합니다.모든 변수를 정수로 바꿉니다
입력 문자열 :
"PQ + PQ + PQR + 4"
말은, 내가 pqr
에 대한 pq
3 1 입력합니다. 내가 싶어 무엇 는
는 "1 + 1 + 4 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;
}