본문 바로가기

알고리즘/Jungol

[Java] 정올기초다지기 입력 자가진단05~09

개발자 라는 직종에 관심이 생기게되어,

C언어,자바,파이썬 등 언어들을 알아보게 되었고 그 중 자바라는 언어에 매력을 느끼게 되었고

공부를 시작하게되었습니다.

오늘부터 포스팅을 하며, 하루하루 나의 공부량과 진행정도를 파악해보려합니다.

현재 포스팅을 진행하기 전, 출력,입력 부분을 배운상태이며,

컴파일러는 Eclipse Phton 버전을 사용하고있습니다.

하루하루 거르지않고 쓸 것이며, 이글을 보시는 저와 같은 초보분들에게 도움이됬으면 좋겠습니다.


시작하겠습니다.

 

우선 저는 인강을 보고 언어들을 배워서 정올 이라는 문제풀이 사이트에서 제공해주는

문제를 풀어봅니다.

 

어제 풀어보지못한 입력 문제가 있어서 문제부터 풀고 공부시작하겠습니다.

 

이클립스를 실행하게 되면 프로젝트를 만들고 클래스는 만드는 과정들이 있는데

우선 셋팅 과정을 저도 보고 따라하것이기도 하고 아직 프로그램에 대한 이해도가 부족하므로 

셋팅과정은 생략하도록 하겠습니다.

 

셋팅을 완료한 후에 클래스를 만들게 되면 위와 같은 화면이 됩니다.

이제 이부분에 언어와 변수들을 사용하여 원하는 값을 얻어내면 되는것입니다.

 

우선, 정올사이트(사이트주소 하단참조)에서 어제 풀지못한 문제를 열었습니다.

문제는 다음과 같이 야드(yd)와, 인치(in)값을 주고 

그값을 cm로 변환하여 소수 첫째자리까지 출력하라고 합니다.

 

이부분을 보자마자 머리속에 드는 생각은 변수를 두 가지를 주어야겠구나 였습니다.

 

yd라는 변수는 91.44

in라는 변수는 2.54 

를 준뒤 이 변수들을 변환하여 출력하면 되는 간단하지만 저같은 초보에게는 다소 난잡한 문제였습니다.

 

우선 첫번째로 변수에 값을 대입해줬습니다.

double yd 이부분에서 yd는 제가 설정한 변수이며,

= 91.44; 이부분에서 91.44는 값입니다.

 

두번째로 그 값을 cm로 변환하여 출력할수있는 명령어를 썻습니다.

이클립스는 단축키가 많은 관계로

Syso 까지 적고 Ctrl + Space bar 를 동시에 누르면 위와 같이 

System.out.println이라는 명령어가 나옵니다.

 

뒤에 변수로 지정해준 실수가 나오는 관계로

println을 printf로 변경해주었습니다.

 

그리고 앞부분 2.1yd와 부등호 까지는 그대로 출력해주고 

yd에 2.1을 곱한값을 출력하기 위해

%fcm를 사용하였고,

 

그앞에 .1을 붙힘으로서 문제에서 원하는 소수점 첫번째 자리수까지를 출력할 수 있게 됩니다.

그 뒤에는 yd*2.1을 해주어서 yd라는 변수에 넣어줬던 값에 2.1을 곱한 값을 출력할 수 있습니다.

 

Ctrl + Alt + 방향키(아래) 단축키를 누르게 되면 현재 선택되어있는 줄의 내용이 밑으로 복사되게 됩니다.

그렇게 복사하여 밑에도 같은 내용을 넣어주고 출력을 해보았습니다.

문제에 출제된것과 다르게 다음 줄이 밑으로 내려가지 않고 바로 옆으로 출력되었습니다.

이를 수정하기 위해서는 개행문자 (\n) 을 사용해주어야 합니다.

개행문자 \n사용시 Enter 값이 입력됩니다.

ex)

1) 안녕 하세요;

= 안녕 하세요

 

2) 안녕\n하세요;

= 안녕

   하세요

 

폰트마다 원화표시와 역슬레시 표시로 다르게 나오지만 사용법은 같으므로 크게 상관없습니다.

보이는것과 같이 문자가 출력된 마지막 부분에 \n을 붙여줌으로 

10.5in = 26.7cm 이라는 문구가 밑으로 출력되게되었습니다.

하지만.... 이상태 그대로 문제제출을 하였지만 에러가 발생하였습니다.

에러내용은 "띄어쓰기가 일치하지않는다." 였습니다.

 

문제에 나온것과 동일하게 띄어쓰기를 해준 후 제출하여 정답을 받게 되었습니다.

여기까지의 과정이 글로봐선 짧고 금방된것으로 보이나,

초보인 저에게는 낯설고 어려워 몇번을 반복하여 문제를 풀게되었습니다....

 

그 과정들....

 

다른문제들이 더있지만 그문제들은 풀이과정 생략하고 문제와 답만 포스팅하도록하겠습니다.

height를 입력받아 출력하는 문제이므로,

Scanner 명령어를 사용해야합니다.

(Scnnaer 명령어 사용시 Scanner까지 타이핑후 Ctrl + Space bar 를 누르게 되면 위와 같이 import가

출력됩니다.)

"height = " 라는 문구를 먼저 출력해주어 입력을 받고

그 입력받은 값을 height 라는 변수에 저장하여

그대로 출력해줍니다.

위에 문제와 비슷한 문제이나, 정수를 출력해주어야 하기 때문에

int를 사용하여 x,y라는 변수를 만들어주고

그 변수에 입력을 받아 

입력값을 토대로 

계산된 값을 출력합니다.

정리하자면,

x * y = ?

x / y = ? 가 되는것인데.

변수를 출력하기 위해서는 println을 >> printf로 변환시켜주고,

출력되는 자리에 %d를 넣고 쉼표뒤에 변수를 넣어줌으로써 

%d가 들어간자리에 변수의 값이 출력되게 되는것입니다.

마찬가지로 입력받아 출력을 하는 문제인데,

실수가 주어졌으므로,

double 을 사용하여 변수를 주고 

%f를 사용하여 출력을 하면 되지만,

소수 두번째자리로 반올림하여 출력하라했으니,

%f사이에 .2를 넣어주어 반올림하여 출력합니다. 

문자는 char또는 String을 사용하면 되고,

문자일때 char 문자열일때 String 이지만 현재 String을 사용하여 문제를 풀었습니다.

위에 나왔던 실수문제와 같은 방법으로 풀이하였습니다.


※현재 저는 Eclipse를 접하게 된지 일주일정도 되었으며,

알고있는 지식이 많지않아 잘못된 내용을 적어놓았을수도있습니다...

제가 좀더 지났을때 기초를 어떻게 배웠었고 어떤과정을 지나왔는지 보기위해 포스팅하는것이며,

저같은 초보분들이 저와같은 비슷한 속도로 공부를 하며 함께 했으면 하는마음에 포스팅하는것입니다.

잘못된부분이 있어 지적해주신다면 달게 받도록 하겠습니다.

 

앞으로도 꾸준히 포스팅하겠습니다.

 

문제출처 : http://www.jungol.co.kr/