7일차 TIL : 개인과제

꽃봉우리·2024년 4월 23일

📃Java 첫 과제

오늘은 Java를 가지고 개인 과제를 수행하면서 하루를 보냈다.
제어문이랑 반복문을 쓸 줄 알기에 굉장히 쉬울 것이라고 생각했지만 그건 내 착각이였다.
알고리즘에 관해서는 문제가 되지 않았으나, 새로운 input 방법과 반복문에서는 for문만 썼었는데 이번에는 요구사항이 있어 익숙치 않는 while문을 써야했다.

📃과제 리뷰


계산기를 만드는 첫 번째 뼈대인 두 수를 입력하는 부분은 굉장히 쉬었다.
input 방법인 Scanner만 잘 알고 있으면 눈감고 만들 수 있는 부분이였다.


처음 생각한 알고리즘은 String 배열을 선언하고 그 안에 사칙연산 기호를 넣고 그거를 하나하나 부를려고 했었다. 힌트에 charAt(0)이 있길래 이 부분을 사용했다.

여기까지 구현은 어렵지 않았다. String으로 선언한 sign을 char 형태인 변수에 기호를 각각 넣어주는 형변환까지는 어제 그토록 많은 형변환 연습을 했는지 이 부분은 조금 수월했다.
문제는 3번째 제어문을 사용하면서 복잡해졌다.

if문을 사용하여 구현을 하려고 했지만 애를 먹은 부분은 조건식에 들어가는 식에서 오류를 많이 경험했다.
String으로 선언한 sign과 char로 형변환한 변수들을 가지고 조건식을 만드려고 한 것이 문제였다.
정말 1차원적으로 (sign == plus) 이런식으로 처음에 구현했지만 타입이 다르기에 그 부분에 대해서 찾아봤다.
Object.equals(Objecta)라는 것을 찾아서 해보았지만 오류가 발생해서 입력을 받는 것을 char 문자형으로 다시 선언하고 비교를 하였다.

이런식으로 char operator를 선언하고 여기 안에 입력받는 기호를 넣어서 operator와 사칙연산 기호를 넣은 변수와 비교해서 제어문을 완성하였다.

4번째 요구사항은 반복문을 사용하는 것이였다.
이 부분은 쉽게 요구사항 1~3번을 반복문 안에 집어넣으면 해결되는 것이다. for문보다는 while문 쓰는 것을 채택하였고 요구사항 3번보다는 수월하게 진행되었다.

Java 프로그래밍을 하면서 느낀점

여태 해오던 C와는 알고리즘은 비슷하지만 쓰이는 문법이 약간씩 달라서 살짝 애를 먹었다. 가지고 있는 기초 지식으로 과제를 수행하려고 했지만 요구사항 하나씩 넘어갈 때마다 알고있는 문법과 다른 부분들이 있어서 내일부터 강의를 좀 더 많이 들어놓고 남은 과제를 수행해야겠다.

0개의 댓글