본문 바로가기

Java

[Head First Java] Chapter2 숫자 맞추기 게임 숫자 맞추기 게임에서는 객체가 서로 다른 객체의 메소드를 호출하는 방법을 보여주고 있다. GuessGame 클래스 public class GuessGame { //인스턴스 변수 선언 Player p1; Player p2; Player p3; public void startGame(){ //메소드 선언 //Player 객체를 각 인스턴스 변수에 대입 p1 = new Player(); p2 = new Player(); p3 = new Player(); //찍을 숫자 설정 int guessp1 = 0; int guessp2 = 0; int guessp3 = 0; //찍은 숫자가 맞는지 여부를 저장하기위한 변수 선언 boolean p1isRight = false; boolean p2isRight = false;.. 더보기
[Head First Java] Chapter2 Movie 객체를 만들어 테스트해봅시다. 앞에 첫 객체를 만드는 것 이라면 이번에는 응용이었다. Movie 클래스 class Movie { String title; String genre; int rating; void playIt(){ System.out.println("영화를 상영합니다."); } } MovieTestDrive 클래스 public class MovieTestDrive { public static void main(String[] args) { Movie one = new Movie(); one.title = "주식과 함께 사라지다"; one.genre = "비극"; one.rating = -2; Movie two = new Movie(); two.title = "로스트 인 큐비클 스페이스"; two.genre = "코미디";.. 더보기
[Head First Java] Chapter2 첫 번째 객체를 만들어 봅시다. 객체를 만들고 사용려면 어떻게 해야하는지 알려주고 있다. class Dog { int size; String breed; String name; void bark(){ System.out.println("Ruff! Ruff!"); } } class DogTestDrive { public static void main(String[] arg){ Dog d = new Dog(); d.size = 40; d.bark(); } } 출력 결과 Ruff! Ruff! 처음으로 만들어 봤다. Dog 클래스를 만들고 main 메소드에서 Dog 객체를 만들어 메소드 안에서 설정하고 호출을 할 수 잇다는 것을 알게 되었다. 더보기
[Head First Java] Chapter2 의자 전쟁 Chapter2 의자 전쟁 내용에서는 절차적 프로그래밍과 객체지향적 프로그래밍의 비교를 나타내고 있다. 초반에는 절차적 프로그래밍이 빠르게 보이나 나중에 스펙이 바뀌면 그에 대한 유동성이 떨어지고, 그에 따라 새로 테스트하고, 컴파일해야 하는 문제가 발생해 어렵게 된다. 하지만 객체지향적 프로그래밍은 부분마다 클래스를 만들기 때문에 스펙이 변경되더라도 해당 부분만 수정하면 되어 유동성이 좋으며 컴파일 또한 해당 부분만 하면 되기 때문에 새로 테스트하는 부분에 대하여 전체적으로 수정하고 컴파일하는 절차적 프로그래밍보다는 안전성 면에서도 좋다. 그리고 코드의 재사용에도 유리하다. 상속과 오버라이딩에 대한 단어가 나왔는데 이 부분은 나중에 나온다고 한다. 인터넷의로 검색해보니 아래 같은 글이 있었는데 이 글도.. 더보기
[Head First Java] Chapter1 연습문제 수영장 퍼즐 코드 조각을 한번만 사용하여 아래와 같은 출력 결과를 얻어야 한다. 출력 결과 a noise annoys an oyster코드 조각 System.out.print(" "); System.out.print("a"); System.out.print("n"); system.out.print("an"); x > 0 x 1 x > 3 x < 4 더보기
[Head First Java] Chapter1 연습문제 결과를 맞춰봅시다. 후보 코드를 대입하여 결과 값 알아 맞추기 기본 코드 public class Test57 { public static void main(String[] args){ int x = 0; int y = 0; while(x 4){ y = y - 1; }결과 02 14 25 36 47 4번 코드 x = x + 1; y = y + x;결과 11 34 59 5번 코드 if(y < 5){.. 더보기
[Head First Java] Chapter1 연습문제 컴파일러가 되어봅시다. 3가지의 소스 파일이 컴파일 잘 되는지 생각해보고 답을 맞쳐야 한다. 1번 소스 public class Exercise1b1 { public static void main(String[] args) { int x = 1; while(x 3){ System.out.println("big x"); } } } } While 순환문을 멈추게 할 내용이 없다. 그래서 x = x - 1 를 집어 넣어 순환을 멈출 수 있게 함 컴파일 되게 수정한 소스 public class Exercise1b1 { public static void main(String[] args) { int x = 1; while(x 3){ System.out.println(".. 더보기
[Head First Java] Chapter1 연습문제 코드 자석 아래와 같은 출력 결과를 가지는 코드를 만들어야 한다. a-b c-d 코드 조각은 아래와 같다. if(x == 1){ System.out.print("d"); x = x - 1; }if(x == 2){ System.out.print("b c"); }public class Shuffle1 { public static void main(String[] args) {if(x > 2){ System.out.print("a"); }x = x - 1;x = x - 1; System.out.print("-");int x = 3;while(x > 0){ 정답은 public class Shuffle1 { public static void main(String[] args) { int x = 3; while(x > 0){.. 더보기
[Head First Java] 자동 구문 생성기 Head First Java 50페이지에 자동 구문 생성기라는 내용의 소스와 설명이 있다. 배열과 난수 생성에 대해 알 수 있었다. 해당 내용 소스 public class PhraseOMatic { public static void main(String[] args) { //세 종류의 단어 목록을 만든다. String[] wordListOne = {"24/7","multi-Tier","30,000 foot","B-to-B","win-win","front-end","web-based","prevasive","smart","six-sigma","critical-path","dynamic"}; String[] wordListTwo = {"empowerd","sticky","valued-added","orien.. 더보기
[Head First Java] "맥주 99병" Head First Java 41페이지 맥주 99병 관련 문제 원본 소스 public class BeerSong { public static void main(String[] args){ int beerNum = 99; String word = "bottles"; while(beerNum > 0){ if(beerNum == 1){ word = "bottle"; } System.out.println(beerNum + " " + word + " of beer on the wall"); System.out.println(beerNum + " " + word + " of beer."); System.out.println("Take one down."); System.out.println("pass it arou.. 더보기
[Head First Java] 연필을 깍으며 "DooBee" 문제 다음과 같이 DooBee라는 클래스를 실행하는 경우를 생각해봅시다. %Java DooBee DooBeeDooBeeDo 위와 같은 결과가 나오려면 아래의 빈 칸에는 어떤 코드가 들어가야 할 가요? public class DooBee { public static void main(String[] args){ int x = 1; while(x < ____){ System.out.____("Doo"); System.out.____("Bee"); x = x + 1; } if(x == ____){ System.out.print("Do"); } } } 위는 Head First Java 47페이지 부분의 문제이다. 정답은 public class DooBee { public static void main(String[].. 더보기