문제 : split("+")의 컴파일 에러가 생겼다.
이유 : split() 메소드는 파라미터로 정규식을 입력 받는데 정규식에서 + 는 특수문자이다.
해결 :
1. 정규식에서 \뒤에오는 특수문자는 일반문자로 취급한다
2. 자바에서 \를 표현하기 위해선 앞에 \를 붙여야한다
3. 위 조건 두개를 확인하여 \+로 처리하였다split("\\+");
package problem.p1541;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("계산식입력 : ");
String expression = sc.nextLine();
String[] expressions = expression.split("-");
int[] results = new int[expressions.length];
int result = 0;
int index =0;
for(String s : expressions){
String[] temp = s.split("\\+");
for(String i:temp){
results[index] += Integer.parseInt(i);
}
if(index == 0){
result = results[index];
} else {
result -= results[index];
}
index++;
}
System.out.print("결과 : ");
System.out.println(result);
}
}