띄어쓰기로 파라메터 구분하여 입력시 계산하는 코드
2+2 오류 2 + 2 이런식으로 파라메터 입력값을 달리하여 입력했을 떄 계산해준다.
스트링을 문자로 분리할 때 , 리스트에 넣어줘서 값을 보관해준다.
switch문에서 break 안써주면 switch문에서 빠져나오지 못해 에러남
temporary = ""; 를 만들어줘서 문자열을 저장할 수 있도록 한다 . 스트링은 문자열의 합이라서 에러가 나지 않는다.
continue;를 만나면 temporary += c를 만나지않고 i++되서 for문을 다시 돌아간다.
public class DoOp{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
String input = sc.nextLine();
ArrayList<String> params = new ArrayList<String>();
String temporary = "";
for(int i=0;i<input.length();i++){
char c = input.charAt(i); //String을 문자열로 하나하나 분리
//띄어쓰기로 파라메터 구분
if(c==' '){
params.add(temporary);
temporary = ""; // 초기화
continue;
}
temporary +=c; //temporary = temporary + c ;
}
params.add(temporary); // 마지막 파라메터는 띄어쓰기가
없기 때문에 list에 안들어감. 그래서 새로 만듬
int firstN = Integer.parseInt(params.get(0));
int secondN = Integer.parseInt(params.get(2));
int result =0;
switch(params.get(1)) {
case "+" : result = firstN + secondN;
break;
case "-" : result = firstN - secondN;
break;
case "*" : result = firstN * secondN;
break;
case "/" : result = firstN / secondN;
break;
case "%" : result = firstN % secondN;
break;
}
System.out.println(result);
}
}
'JavaPool(기초 로직연습)' 카테고리의 다른 글
숫자 두 개로 각각 다른 숫자 만들어보기(00 01,00 02, 00 03, 00 04, 00 05,...,01 99, 02 03, ..., 98 99) (0) | 2022.01.30 |
---|---|
숫자 세개 반복해서 최솟값 만들기 789 (0) | 2022.01.30 |
받은 문자열 반대로 출력하기 (0) | 2022.01.30 |
배열 오름차순으로 출력(temp 활용) (0) | 2022.01.08 |
char에서 스트링 반대로 출력 (temp로 트랙킹하기) (0) | 2022.01.08 |
댓글