본문 바로가기
국비수업

[국비 Java 2일차] 변수와 Scanner로 값 입력받기

by 박다비 2022. 10. 19.

오늘 배운거는 짧게 설명 가능

변수와 키보드로 값 입력받는 방법을 배웠다

이 두개 배우는거에 7시간을 다 보냈...

그만큼 중요한 것이기 때문이겠쥬?

근데 사실 이안에 메소드 생성과 호출 객체 생성까지 다 들어있는다는거 

 

변수 지나고 스캐너 클래스 사용하는 법부터 갑자기 빨라지고 어려워져서 좀 당황했지만

예습으로 많은 걸 커버했다...난 예습 안했으면 주거따...둘쨋날 부터 걍 눈물 줄줄인 것임

 

오타하나나거나 글쓰다가 놓치면 갑자기 따라가기 힘들어짐...ㅋㅋㅋㅋ

변수에서는 내가 뭘 하고 있다~ 메모장에 정리가능이였는데

스캐너때부터 메모장에 따로 글쓰기 불가 ㅋㅋㅋㅋ 갑자기 메모 없음.

그나마 이클립스 주석으로 메모를 열심히 달았다... 

그래도 천천히 해준다고 해주시는데 강의몰입하시면 빨라지는건 어쩔수가없다

정신 똑띠 차리고 따라가야한다

 

 

오늘 점심도 빵을 먹었는데 30분안에 무엇인가 제대로 먹기가 굉장히 힘들다 ㅠㅠ

학원 취식금지인거 오바 세바라구요...ㅠ 지하식당 만들라구요ㅠ

내일은 그래도 맛있는 음식을 먹겠다고 친해진사람들과 다짐했다

 

오늘 배운걸 복습을 해보자!

 

 

일단 이클립스로 인코딩 설정하는 방법을 배웠음

어제 과제할때도 수업한 이클립스파일이 한글이 다 깨져가지고 복구하느라 이클립스 지웠다 깔고 그랬는데 오늘 방법을 제대로 알려주셨다!

 

이클립스로 인코딩 설정하는 방법은

첫 이클립스를 열때 설정하는게 좋은데

 

Window-Preferences - enco 검색 - Workspace , CSS, HTML Files, JSP Files, XML Files 다 utf 8로 바꾸기 (Apply 꼭 누르기)Apply - 그다음 다시 spel 검색해서 이것도 UTF-8로설정

 

package

-패키지는 쉽게 말하면 폴더임

우리가 폴더로 나눠서 파일이나 사진 문서관리를 하듯

이클립스에도 폴더트리를 만들어 폴더별로 소스파일을 관리함

대부분 3트리로 만들음 ( com 폴더안에 - kh폴더안에 - Variable폴더와 Run폴더로 나뉨 )

 

 

 

 

- 패키지 생성하기

네비게이터 창에서 아무곳이나 우클릭해서 New - Package 

혹은 File - New - Package

패키지를 생성할 프로젝트에서 New- Package

폴더 하위로 생성하고 싶으면 폴더 에서 New-Package

패키지를 생성할때는 

name 에서 .(점) 을 구분으로 폴더가 생성됨

com.kh.run -> com폴더가 생성되고 그 안에 kh가 생성되고 kh안에 run폴더가 생성됨

패키지를 생성하는 이유는 폴더별로 소스파일을 관리하기 위해서

 

 

패키지 생성한거 잘 보이게 설정하는법

이클립스 Windows -Showview - Navigator 누르면 뜸. 

폴더 트리가 눈으로 확인 가능해서 네비게이터 창을 알아보기가 쉽다! 

 

 

변수

변수는 메모리에 값을 기록하기 위한 공간임 

값을 보관하기 위한 상자를 만들겠다~ 

 

- 변수의 선언방법?

자료형 변수명;

     ex) int age;

     char ch;

     String str;

 

자료형? 

쓰는 타입에 따라서 자료형을 다르게 써줘야함.아래에 있음

문자를 age라는 변수에 저장하고 싶으면 String이라는 자료형을 써줘야하고

숫자인데 정수를 저장할 거라고 하면 int 라는 자료형을 써줘야함

- 각 자료형은 크기와 저장가능범위가 있지만 그렇게 심하게 중요하지않음.

그런게 있다 인지는 하고있어야함

변수명?

우리가 저장할 데이터에 이름을 붙이는거임

그냥 그렇게 알고있으면 됨..나중에 다 이해됨

왜..이렇게 쓰는거임?

자바에서는 값을 기록?넣고 싶을땐 이렇게 해야됨

왜...? 나중에 다 이해됨...다 java의 깊은 뜻이 있는거임

 

변수선언시 주의할점

1.변수이름은 소문자. 

2. 같은 영역({})에서는 동일한 변수명 선언불가(변수명중복불가)

3.해당영역({} 중괄호안) 에서 선언한 변수는 그 영역 안에서만 사용가능

 

 

자료형의 종류

1. 논리형 bloolean 

값이  논리값이라고 true / false  참과 거짓 두가지 밖에 없음

boolean isTrue = true ; 

(논리형(불리안형)  isTrue 변수에는 true 값이 들어있음)

 

 

2. 숫자형

     2-1.  정수형 (소수점이 없는 숫자)

     byte bNum = 100;    // byte 타입의 크기는 1byte (-128~ 127 사이의 숫자만 표현가능)

     short  sNum =1000;   //short 타입의 크기는 2byte 

     int  iNum = 10000        // int형 타입의 크기는 4byte . 정수형타입의 기본 자료형으로 가장 대표적으로 사용됨

     long lNum = 10000;      //long 형 타입의 크기는 8byte. 정수형중 가장 큰 수를 담을 수 있음 

 

    2-2.  실수형 (소수점이 붙는수)

     float fNum = 0.0f  // float 타입의 크기는 4byte. 소수점 7자리까지 표현가능.

                                 // float 타입의 경우 double과 값 구분을 위해 값 뒤에 f를 붙임 

     double dNum = 0.0; // 8byte .  소수점 15자리까지 표현가능. 실수형의 기본 자료형으로 실수형 사용시 대표적으로 사용됨

 

3.문자형

     3-1.  문자 ( 글자한개)

     char ch = 'a';    // 2 byte  . 값에 홑따움표를 꼭 붙여야 사용가능함!!!

     char kim;

     kim = '김' ; 

    3-2.  문자열 (글자 한개 이상)

    String str;   ///얘는 위의 변수들과 다르게 참조형변수라고함..설명은 아주 뒤에서 나옴 그냥 위의 일반변수들과 다르다라고만 알고 있으면 됨. 이클립스에 쓸 때 String은 보라색으로 변하지도 않음.. 

    str = "abc";

 

지금까지 선언한 변수들을 출력을 하고 싶다면?

System.out.println("sNum값 : " + sNum );  

System.out.println("lNum : " + lNum);
System.out.println("fNum : " + fNum);
System.out.println("dNum : " + dNum);
System.out.println("ch : " + ch);
System.out.println("kim : " + kim);
System.out.println("str : " + str);

 

출력할때 출력할 문자와 변수를 같이 사용하고 싶다면 그 사이에  + 을 붙여야 함

 

- 변수의 명명규칙 (변수에 이름을 정할때 지켜야할 점) 

1. 같은 영역내에 중복된 이름은 허용되지않는다. 

2. 변수명이 숫자로 시작하면 안된다. 시작만 안되지 그 이외에는 됨  

3.대소문자가 구분되어 대소문자가 다르면 서로 다른 변수이다

4.예약어 사용불가(자바가 이미 사용하고있는이름)

5.특수문자는 _(언더바)와 $만 허용 (언더바사용은가능하다 관례상 사용않는것이 좋음)

 

6.첫글자는 소문자이여야하고 다른단어가 붙는다면 첫글자는 대문자로한다

       ex) userName

       String userName = "김철수";

       낙타표기법이라고함 . 낙타등같아서 이케안쓴다고 오류는 안나지만 관례임. 알아보기쉽자나 

 

7. 한글도 사용가능하지만 무조건 영어로 작성한다. 

 

 

- 값대입

생성한 변수(저장공간)에 값을 대입하는것 -> " = " 으로 대입이됨

Java에서는 = 등호가 동등(3+5 = 8) 의 의미를 가지는것이 아닌 대입의 의미임 

int age;

age = 25;

age = 26;  -> 변수는 한개의 데이터만을 보관하므로 마지막에 적은 값이 변수에 남아있다

 

- 변수의 선언 및 초기화의 진행 순서 

int age = 26; 변수가 선언되었을떄 어떤 식으로 진행이 되냐면

(이거 순서에 대해서 5번 반복해서 말함, 이걸 제대로 이해해야한다고강조 , 그래야 나중의 수업도 잘 이해를 할 수 있다~)

 

int age 부분이 1번 / = 대입연산자가 3번 / 26이 2번 순으로 진행됨

1번 제일먼저 읽음 - >int 타입 상자를 하나 만듬. 여기에는 int형 값만이 들어갈수있음. 다른값이 들어오면 오류남.

만들어진 int타입 데이터만 들어올수있는 int형 상자에 이름이 age 가 붙음 ,

하지만 현재는 박스 상자 안이 비어있음 int형age박스만 생긴거임 2번으로 값을 읽으러감

2번 두번쨰로 값을읽음. 이 값은 작성이 되면서 컴터 버퍼(가상공간) 어딘가에 생겨서 계속 둥둥 떠다님.

3번. 이 둥둥 떠다니는 값을 age안에 대입을 한다~  이제 age를 사용(변수를호출)하면 이 안에 값이 사용,써지는 거임 

 

int age = 26; 으로 변수 선언 하고 바로 초기화하는거임

원래는 이런 모양 

변수 선언은 int age;

초기화는 age = 26 (변수에 값을 넣는다 ->초기화한다)

 

int age;                  =>변수선언만 먼저

age = 26;               =>그 다음에 초기화 (값대입)

---------------

int age = 26;         =>변수 선언과 초기화를 한번에 

 

위나 아래나 서로 같은거임 

즉 저거도 되고 이것도 되는거임 

그럼 편하게 아래꺼만 쓰면되지? 하겠지만 더 배우다보면 위도 쓰게되고 아래도 쓰게된다~

긍까 잘 인지하고 있어야한다~~ 

이렇게 들어가는거구나 하고 계속 인지를 해야한다 

 

- 변수를 사용하는 이유는?

1. 가독성이 좋아짐 (숫자,데이터 값에 이름을 붙이는 것이니 그 숫자가 뭘 의미하는지 직관적으로 파악가능함)

       -> 그래서 변수에 이름을 정할때는 a/ b/ c 이런식으로 정하지말고 값의 의미가 무엇인지, 어떤의미를 가진 값인지 남이 알아보기 쉽게  정하도록 한다~

 

2. 재사용성이 높아져 코드량이 줄고 유지보수에 용이

( 코드 작성 다 해놨는데 값이 바뀐다면 써놓은 모든값을 변경하는게아니라 변수값만 변경하면 됨)

 

 

 

 

주석

// : 한줄 주석 . //뒤의 내용은 java에서 인식하지못함. 메모를 할때 사용함

/*

*/ : 여려줄 주석.  /**/ 을 쓰고 가운데에 커서넣어서 엔터 쭉쭉쭉 치면 여러줄로 주석 쓰기 가능

꿀팁 -> /* 하고 엔터치면 뒤에 */가 자동으로 써짐 

 

이클립스 주석 단축키  =>  ctrl + /

가끔 이클립스하다가 ctrl + / 안 먹을 때가 있는데  윈도우키 +스페이스를 눌러보자~~

키보드입력기가 전환되어서그럼. 윈도우키 + 스페이스누르면 Microsoft 입력키가 전환이 되니 눌러보셈

 

 

 

 

 

 

 

 

 

 

 <이클립스에서 키보드로 값을 입력받는 방법>

 

왜 입력받음? 저게 몬솔임?

로그인할때 아이디/ 비밀번호를 사용자에게 입력받듯이

사용자가 데이터를 입력받을때가 많잖음?

이처럼 이클립스 콘솔(코드 실행(Run)하고나오는 표시창) 에 키보드로 값을 입력받는 방법을 배우는것임

 

 

 

1. 클래스 생성

 

내용을 구현을 할 Variable 클래스와

앞에서 구현한 클래스를 돌리기만할 Run 클래스를

각각 다른 패키지에 하나씩 생성함

Run클래스는 run 패키지(폴더)에 , Variable같은 구현클래스들은 variable 패키지(폴더)에 나뉘어서 담을 수 있게.

정확히 Run클래스는 01_Variable 자바프로젝트의 src안의 com안의 kh안의 run 패키지에 담긴것..

그래서 패키지 풀 네임은 com.kh.run (src는 자바프로젝트만들때 기본값으로 자바가 만든거고 com부터는 내가 설정한거)

이 패키지 경로는 클래스를 만들면 클래스 가장 첫번째 줄에 자동으로 적힘

돌리기만 할 Run 클래스에서는 Java가 프로그램을 돌려야 하니 Main 메서드가 있어야하고

구현 클래스에는 Main 메서드가 필요하지않음. 

Main 메서드가 모냐...? 왜 쓰는거냐?

어제 배운 psvm -> public static void main(String[] args){} 임

이 main메서드가 있어야지 자바가 여기가  메인이구만 ~ 여길 돌리면되는구만~ 하고 돌림 

 

 

 

그럼 이제 우린 Run메서드가 아닌 구현클래스인 Variable 클래스에 키보드 입력받는 기능을 구현하겠음

2. Scanner 클래스 사용

본격적으로 키보드로 값을 입력받는 것을 해볼것임

 

 

1.콘솔창에 무엇인가 입력을 받고 싶다면?

-> Scanner 클래스를 이용해야함   -> 궁극적으로 오늘 한거임 

Scanner sc = new Scanner(System.in);

을 쓰면되는데  <java.util로 import해야지 쓸수있음>

import? import가 머임?

Scanner 클래스는 프로그래머가 편히 사용하라고 java에서 전문가들이 머리맡대고 만든  이미 만들어져있는 클래스임. 우린 그걸 이용만 하면되는건데 이 Scanner 클래스 안에는 사용자한테 입력을 받을 수 있도록 기가막힌 코드들로 짜여있음. 이 안에는 메소드들도 존재하는데 이 생성한 Scanner객체에서 메소드를 호출할때 자동생성기안에서 볼수있음. 중요한건 이 클래스를 사용하기 위해서는 Scanner sc = new Scanner(System.in); 쓰고 import를 해야하는데 임포트란 어디에 위치해  있는 Scanner를 쓸꺼냐~ 정해줘라 하는 의미임. 우리가 사용하는 이 Scanner는 java.util 패키지에 위치해 있음(java.util말고도 다른 곳에있는것도있음). 그래서 ctrl + shift + o 를 누르거나 저 사용문에서 마우스커서를 갖다대서 뜨는 오류문에 java.util이라고 써있는걸 클릭하면 자동으로 import 문이 위에 생성이됨~ 그럼 이제 우리는 이 scanner를 쓸수 있는것임 

 

이 Scanner / 클래스를 쓸수 있다는 것은 무슨의미임?

이 클래스 안에 있는 메소드와 변수들을 사용할 수 있다는 의미임.

nextLine() / next() / nextDouble()/ nextInt() 등 다양한 메소드들로 다양한 값을 입력받을 수 있음

 

 Scanner sc = new Scanner(System.in);

이 문장이 도대체 먼 글자...인가 하나하나 따져 본다면

Scanner -> 클래스이름임. 우리가 Scanner 클래스를 사용할거니까 사용할 클래스 이름을 쓴거임

sc -> 뒤에서 Scanner 안의 기능을 쓸때 사용할 변수명임. 이 변수명은 그냥 코딩하는 '내가'아무렇게나 지을 수 있는데, 대부분 이 스캐너 클래스를 사용할때는 sc 변수를 많이 씀. 그래서 우리도 계속 sc 라는 변수명으로 사용을 할거임. 왜 sc냐? Scanner 앞 두글자임. 

new -> 흠....뒤에서 자세히 배움.. new를 해야 우리가 클래스를 궁극적으로 새로 생성한거임...아직 몰라도됨..

Scanner-> 아니 앞에 썼는데 왜 또 씀?  뒤에서 자세히 배움... 암튼 사용할 클래스명을 똑같이 또 써주는거임

(System.in) -> 우리가 출력할때 System.out.println 를 쓰는데 똑같음 System임. System클래스?안에 in 메소드를 사용하는거라고 대...충 이해하면 되는데 입력을 받겠다~ 하는 기능을 사용하는거라고 대충 이해하고 넘어가자 

 

그니까~  만약 우리가 코딩 문제를 푸는데 

문제속에 < 사용자에게 입력을 받고....> 어쩌구 하면 무족권

맨처음에 Scanner sc = new Scanner(System.in);을 1초만에 써야함

그래서 우리가 아직 멀 제대로 배우기도전에 이 입력받는걸 배우는데에는 다 이유가있다~

왜냐면 겁나게 많이 쓰니까 맨 처음에 배우는거임 

아직 저 문장이 먼뜻인지 이해 안되도 되고 걍 입력받으시오 하면 저 문장만 냅다리 써도됨...아니 써야됨 

 

하지만 아직 입력받는기능을 구현하는데 다 배운게아님.. 입력받는 기능을 쓸 수있도록 클래스만 불러들인(?)거임..

 

2. 콘솔창(모니터,눈으로 보는 화면)에 무엇인가를 출력하려면?

일단 클래스를 불러들여왔음

근데! 일단!  이제 사용자에게 입력받을때 헷갈리지않게 여기다가해라~ 하는 문장 같은걸 보여줘야할것아님? (필수아님)

이걸 가이드문구 라고 함...

=> System.out.print[ln] () 메소드를 이용한다 -> 어제 불나게했음

print 는 개행(줄바꿈) 이 없는 출력메소드이고

println 은 개행도 같이 해주는 출력 메소드이다

그럼 가이드 문구를 보여주기위해 Systme.out.print(" 값을입력하세요 => "); 을 씀 

 

Systme.out.print(" 값을입력하세요 => "); 라고 적으면

실행(Run)하자마자 이 문장이 바로 출력이 될거 잖음?

근데 저(  => )다음에 바로 문자타입의 어떤 글자를 입력을 받고 싶다?

그럼 바로 다음에 String str = sc.nextLine(); 이라고 쓰는거임

 

그럼 저 출력문 화살표(=>) 끝에 입력할수 있는 커서가 깜빡 깜빡임. 

이제 입력을 할수가 있는거임.

입력한 값이 String 타입의 str 변수에 저장됨

 

***주의**여기서 먼가 이상하게 입력받는곳이 다음줄에 나타난다?

System.out.println 을 쓴거임. 한줄개행이 되고나서 그 다음에 입력을 받게 되는거임

Systme.out.print 을써야함. 그래야지 문장 다음에 개행을 안하고 바로 입력을 받을 수 있는거임

맨날 sysout 단축키를 쓰다보면 계속 반복해서 이런 실수를 하는데.. 어차피 출력하면 다 보이니까 걍 고치면됨. 

이 반복실수하는게 싫다? 그럼 Scanner 클래스 쓰고나서 가이드문구 쓸때 print를 써야한다 반복주입하셈..

 

입력 받는 데이터 형태(숫자,문자,실수 등) 에 따라서 변수의 데이터 타입을 정해주면됨

내가 문자형태의 값을 입력받아야한다 ?

그럼 문자형태를 저장할수있는 변수 선언해주고

String 타입변수 str 을 써주고 = sc.nextLine(); 을써주면됨

sc. 클래스의 메소드인 nextLine(); 을 쓰는거임 

그럼 숫자형태의 값을 입력받아야한다? int age = sc.nextInt(); 

 

문자열 : nextLine() :  사용자가 엔터전까지 입력한 모든 값을 저장. 

문자열 : next() : 사용자가 입력한 값 중 공백(띄어쓰기) 전까지의 값을 저장함

숫자 : nextInt()   -> 정수값을 입력 받고 싶을때

실수 : nextDouble()    -> 실수값을입력받고 싶을때 

문자한개 : String str = sc.nextLine(); 으로 받아도되지만 이건 메모리가 낭비됨

-> char ch = sc.nextLine().charAt(0);  입력한 첫글자만 뽑아서 변수에 저장 (nextChar 메소드는 없음)

입력받고 싶은 값이 숫자인데 정수(음수나소수점이아닌 1,2,3같은 수)라면 ? 

- >    int age = sc.netxInt();

입력받고 싶은 값이 소숫점이있는 숫자라면?

- >  double height = sc.nextdouble();

다른 메소드들도 있지만 자주 사용하는 것들은 이것들이다~ 

 

그리고 저장된 값을 알아서 처리하면되는데 우린 초보이니

저장한값을 그대로 출력만함

sysout("입력한 값 : " +str);

 

 

그리고 Scanner 객체를 생성하고 다 썼으면 sc.close(); 로 계속 활성화되어있는 Scanenr 를 닫아주삼

 

키보드로 값 입력 받을 때 에러 오류 주의!

sc.next int/double/long 등 기본형 next 메소드를 사용시 뒤에 sc.nextLine() 메소드가 와야할 경우

sc. nextLine() 메소드를 한번 더 써서 버퍼에 남아 있는 엔터를 제거해야한다!

 

왜냐?

sc.nextInt(); 같은 next뒤에 기본형타입이 붙는  메소드는 호출되고나서 값을 입력받고 엔터 값을 그대로 버퍼에 남겨놓고 감 - 즉 버퍼에 엔터값이 남아있음

그래서 !!  sc.nextInt(); 를쓰고 그 다음에 nextLine(); 메소드를 쓰게 되면 그 남겨놓는 엔터값이 저 nextLine(); 메소드안에 들어가서 입력하지도않았는데  개행, 줄바꿈이 입력됨!

그럼 값을 입력받는 곳이 갑분 개행이 되있어서  입력받는 콘솔에 

나이를 입력하세요 ->
20

이런꼴로 원래 화살표 바로 옆에 입력이 되야하는게 줄바꿈이 되고 그 위치에 입력을 받는거임

근데 sc. nextLine() 메소드는 호출되고나서 엔터값을 기본형처림 버리는게아니라 가지고사라지기 때문에 엔터를 버퍼에서 없앰. 그래서 값을 입력받기 전에 sc. nextLine(); 를 한줄 더  추가하게 되면 저 남아있던 개행값을 먹어서 없애기 때문에 제대로된 출력이 됨~ 하고 이해하면됨 

 

특히나 sc.nextInt() 메소드를 사용하고나서 

sc.nextLine().charAt(0) 같이 한글자만 입력받는 메소드를 바로사용하게되면

버퍼에남아있는 엔터값이 저 charAt(0)에 바로 들어가기 떄문에 

java.lang.StringIndexOutOfBoundsException: 오류가 뜬다~!!!!!

아래의 코드를 보자

public void method2() {
	Scanner sc = new Scanner(System.in);
    System.out.print("이름 : ");
	String name = sc.nextLine();
    
    System.out.print("나이: ");
    int age = sc.nextInt();//다음에 nextLine()메소드가 오는경우 개행값을 nextLine()이 먹게되어서 다음줄에 에러가 발생한다
	sc.nextLine();  //그래서 개행값을 먹어서 없애는 nextLine()메소드를 한번 더 호출한다. 그러면 줄바꿈 개행 값이 없어지고 깨-끗
    
	System.out.print("성별(남/여) : ");
	char gender = sc.nextLine().charAt(0);
    
    System.out.printf("당신은 %c자 이름은 %s이며, 나이는 %d 입니다. " , gender,name,age );
    
    sc.close(); //작업이 다  끝나면 닫아준다
    
    
    
    이름 : (입력한값 :) 김아무개
    나이 : (입력한값 :) 20
    성별 : (입력한값 :) 남
    당신은 남자 이름은 김아무개이며, 나이는 20 입니다

 

 

 

 

문자열을 입력받아 한글자만 뽑아내야하는경우

 

String str = sc.nextLine(); 에 입력한 문자열이 저장된경우 

char ch = str.charAt(인덱스번호)메소드 통해서 문자를 추출해낸다 

입력한 값에서 인덱스번호에 있는 값을 뽑아서 ch 변수에 넣어준다 

인덱스 번호는 1부터 시작하는게아니라 0부터 시작함. 첫번째 입력된 문자가 인덱스 0번에 있는거임

 

apple 를 입력받았다면

a 는 0번 인덱스

두번째 p는 1번 인덱스

char ch = str.charAt(3);

하면 str에 저장된 문자열 중에  인덱스3번에 담긴 값인 l이 ch변수에 저장되는거임

a p p l e

0 1 2 3 4 인덱스

 

또한 입력한 값은 5글자 인데 

charAt(6); 을 소환하게되면 없는데이터를 호출하는것이기 때문에 에러가 발생함

 

 

 

오늘 틀린 부분

System.out.println() 메소드를 메소드안에 안쓰고 클래스 영역에다가 씀 

 

 

 

오늘은 과제를 내주셨는데 풀면서 어려웠던 부분? 은 크게 없었으나 

이클립스 파일이 깨져서 수업때 쓴 파일을 볼 수 없었다..ㅜㅜ...구글 보고 설정을 변경했으나 기존에 내가 작업하던 파일까지 깨져버려서 날리고 그냥 강사님이 주신 이클립스실행파일을 설치해서 첨부터 다시 시작했다..따흐흑

강사님이 수업 때 과제에 대한 힌트를 주셔서 수월하게 작성 할 수 있었다

내일이 기대되는군!