명품 자바 프로그래밍

Wooney98·2022년 11월 17일
1

PlayData_BackEnd

목록 보기
5/33
post-thumbnail

실습1

package org.comstudy.day11;

class MyPoint{
    private int x;
    private int y;

    public MyPoint(int x, int y) {
        this.x = x; this.y = y;
    }
    public int getX() {
        return x;
    }
    public int getY() {
        return y;
    }

    public String toString() {
        return String.format("Point (%d,%d)",getX(),getY());
    }

    public boolean equals(MyPoint obj) {
        if(obj.x == getX() && obj.y == getY())
            return true;
        else
            return false;
    }
}

public class Ch6_Ex01 {
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        MyPoint p = new MyPoint(3, 50);
        MyPoint q = new MyPoint(4, 50);
        System.out.println(p);
        if(p.equals(q))
            System.out.println("같은 점");
        else
            System.out.println("다른 점");
    }
}

실습2

package org.comstudy.day11;

class Circle{
    private int radius;
    private int x;
    private int y;

    public Circle(int x, int y, int radius) {
        // TODO Auto-generated constructor stub
        this.x = x; this.y =y; this.radius = radius;
    }

    public int getX() { return x; }
    public int getY() { return y; }
    public int getRadius() { return radius; }

    public String toString() {
        return String.format("Circle(%d,%d)반지름%d", getX(),getY(),getRadius());
    }
    public boolean equals(Circle obj) {
        if(obj.x == getX() && obj.y == getY())
            return true;
        else
            return false;
    }
}

public class Ch6_Ex02 {
    public static void main(String[] args) {
        Circle a = new Circle(2,3,5);
        Circle b = new Circle(2,3,30);
        System.out.println("원 a : " + a);
        System.out.println("원 b : " + b);
        if(a.equals(b))
            System.out.println("같은 원");
        else
            System.out.println("서로 다른 원");
    }
}

실습3

package org.ch06.etc;

public class Calc {
    private int x, y;
    public Calc(int x, int y) { this.x =x; this.y =y;}
    public int sum() {return x+y;}
}
package org.etc;

import org.ch06.etc.Calc;

public class MainApp {
    public static void main(String[] args) {
        Calc c = new Calc(10, 20);
        System.out.println(c.sum());
    }
}

실습4

package org.ch06.base;

public class Shape {
    public void draw() {
        System.out.println("Shape");
    }
}
package org.ch06.derived;

import org.ch06.base.Shape;

public class Circle extends Shape {
    public void draw() {
        System.out.println("Circle");
    }
}
package org.ch06.app;

import org.ch06.base.Shape;
import org.ch06.derived.Circle;

public class GraphicEditor {
    public static void main(String[] args) {
        Shape shape = new Circle();
        shape.draw();
    }
}

실습5

package org.comstudy.day11;

import java.util.Calendar;

public class Ch6_Ex05 {
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Calendar today = Calendar.getInstance();
        int hour = today.get(Calendar.HOUR_OF_DAY);
        int minute = today.get(Calendar.MINUTE);

        System.out.println("현재 시간은"+hour+"시"+minute+"분 입니다.");
        if(hour>4 && hour<12) System.out.println("Good Morning");
        else if(hour<18) System.out.println("Good Afternoon");
        else if(hour<22) System.out.println("Good Evening");
    }
}

실습6

package org.comstudy.day11;

import java.util.Calendar;
import java.util.Scanner;

public class Ch6_Ex06 {
    static Scanner sc = new Scanner(System.in);
    public static void main(String[] args) {
        String[] name = {"황기태","이재문"};
        Calendar today;
        System.out.println("10초에 가까운 사람이 이기는 게임입니다.");
        int curr=0, after = 0;
        int[] result = new int[2];

        for(int i=0; i<name.length; i++) {
            System.out.print(name[i] + " 시작 <Enter>키 >> ");
            sc.nextLine();
            today = Calendar.getInstance();
            curr = today.get(Calendar.SECOND);

            System.out.println("\t현재 초 시간 = " + curr);

            System.out.print("10초 예상 후 <Enter>키 >> ");
            sc.nextLine();
            today = Calendar.getInstance();
            after = today.get(Calendar.SECOND);
            System.out.println("\t현재 초 시간 = " + after);

            if(curr > after){
                result[i] = after+60-curr;
            }else{
                result[i] = after - curr;
            }
        }
        for(int i=0; i<name.length; i++) {
            System.out.print(name[i] + "의 결과 "+result[i]+",");
        }
        if(Math.abs(10-result[0])>Math.abs(10-result[1])) {
            System.out.println("승자는 "+name[1]);
        }else if(Math.abs(10-result[0])<Math.abs(10-result[1])) {
            System.out.println("승자는 "+ name[0]);
        }else {
            System.out.println("비겼습니다.");
        }
    }
}

실습7

// (1) StringTokenizer
package org.comstudy.day11;

import java.util.Scanner;
import java.util.StringTokenizer;

public class Ch6_Ex07 {
    static Scanner sc = new Scanner(System.in);
    public static void main(String[] args) {
        while(true){
            System.out.print(">> ");
            String str = sc.nextLine();

            if(str.equals("그만")) {
                System.out.println("종료합니다...");
                break;
            }
            StringTokenizer st =new StringTokenizer(str, " ");
            System.out.println("어절 개수는 "+st.countTokens());
        }
    }
}

// split
package org.comstudy.day11;

import java.util.Scanner;

public class Ch6_Ex07 {
    static Scanner sc = new Scanner(System.in);
    public static void main(String[] args) {
        while(true){
            System.out.print(">> ");
            String str = sc.nextLine();

            if(str.equals("그만")) {
                System.out.println("종료합니다...");
                break;
            }
            String[] s = str.split(" ");
            System.out.println("어절 개수는 "+ s.length);
        }
    }
}

실습8

package org.comstudy.day11;

import java.util.Scanner;

public class Ch6_Ex08 {
    static Scanner sc = new Scanner(System.in);
    public static void main(String[] args) {
        System.out.println("문자열을 입력하세요. 빈칸이나 있어도 되고 영어 한글 모두 됩니다.");
        String str = sc.nextLine();

        for(int i = 1; i<str.length(); i++){
            System.out.println(str.substring(i) + str.substring(0,i));
        }
    }
}

실습9

package org.comstudy.day11;

import java.util.Random;
import java.util.Scanner;

class rsp{
    String s;
    String name;
    public rsp(String name){
        this.name = name;
    }
    public void Set(int num){
        if(num == 1){
            s = "가위";
        }else if(num == 2){
            s = "바위";
        }else{
            s = "보";
        }
    }
    public void Game(rsp computer){
        if(s.equals("가위")){
            if(computer.s.equals("가위")){
                System.out.println("비겼습니다.");
            }else if(computer.s.equals("바위")){
                System.out.println(computer.name+"가 이겼습니다.");
            }else {
                System.out.println(name + "가 이겼습니다.");
            }
        }else if(s.equals("바위")){
            if(computer.s.equals("가위")) {
                System.out.println(name+"가 이겼습니다.");
            }
            else if(computer.s.equals("바위")) {
                System.out.println("비겼습니다.");
            }
            else {
                System.out.println(computer.name+"가 이겼습니다.");
            }
        }else{
            if(computer.s.equals("가위")) {
                System.out.println(computer.name+"가 이겼습니다.");
            }
            else if(computer.s.equals("바위")) {
                System.out.println(name+"가 이겼습니다.");
            }
            else {
                System.out.println("비겼습니다.");
            }
        }
    }
    public String toString(){
        return name + "(" + s + ")";
    }
}
public class Ch6_Ex09 {
    static Scanner sc = new Scanner(System.in);
    public static void main(String[] args) {
        rsp player = new rsp("철수");
        rsp com = new rsp("컴퓨터");
        Random r = new Random();
        while(true){
            System.out.print("철수[가위(1), 바위(2), 보(3), 끝내기(4)] >> ");
            int num = sc.nextInt();
            if(num == 4) break;
            player.Set(num);
            com.Set(r.nextInt(3)+1);
            System.out.println(player+ " : "+com);
            player.Game(com);
        }
    }
}

실습10

package org.comstudy.ch6_ex;

import java.util.Random;
import java.util.Scanner;

class Person{
	String name;
	public Person(String name) {
		this.name = name;
	}
}

public class Ch6_Ex10 {
	static Scanner sc = new Scanner(System.in);
	static Random rand = new Random();
	static final int SIZE = 2;
	
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Person[] p = new Person[SIZE];
		for(int i = 0; i < SIZE; i++) {
			System.out.print(String.format("%d번째 선수이름 >> ", i+1));
			String name = sc.next();
			p[i] = new Person(name);
		}
		sc.nextLine();
		
		while(true) {
			for(int i=0; i<p.length; i++) {
				System.out.printf("[%s] : <Enter>", p[i].name);
				sc.nextLine();
				
				int[] num = new int[3];
				for(int j =0; j<3; j++) {
					num[j] = (int)(Math.random()*3)+1;
				}
				System.out.printf("\t %d  %d  %d  ", num[0], num[1], num[2]);
				
				if(num[0] == num[1] && num[1] == num[2] && num[0] == num[2]) {
					System.out.printf("%s님이 이겼습니다!\n",p[i].name );
					return;
				}else { System.out.println("아쉽군요!");}
			}
		}
	}
}

실습11

package org.comstudy.ch6_ex;

import java.util.Scanner;

/*		StringBuffer 사용 		*/
public class Ch6_Ex11 {
	static Scanner sc = new Scanner(System.in);
	
	 static void checkwords() {
		System.out.print(">> ");
		String sentence = sc.nextLine();
		StringBuffer sb = new StringBuffer(sentence);
		String[] commArr;
		
		while(true) {
		
			System.out.print("명령 : ");
			String comm = sc.next();
			commArr = comm.split("!");
			
			if(comm.equals("그만")) {
				System.out.println("종료합니다.");
				break;
			}
			if(commArr[0].equals("") || commArr.length == 1) { // 공백
				System.out.println("잘못된 명령입니다!");
				continue;
			}
			
			int start = sb.indexOf(commArr[0]);
			if(start != -1) {
				int end = start + commArr[0].length();
				sb = sb.replace(start, end, commArr[1]);
				System.out.println(sb);
			}else {
				System.out.println("찾을 수 없습니다!");
			}
		}
	}
	 public static void main(String[] args) {
		checkwords();
	}
}

실습12

package org.comstudy.ch6_ex;

import java.util.Random;
import java.util.Scanner;

class Person{
	String name;
	public Person(String name) {
		this.name = name;
	}
}


public class Ch6_Ex12 {
	static Scanner sc = new Scanner(System.in);
	static Random rand = new Random();
	
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.out.print("겜블링 게임에 참여할 선수 숫자 >> ");
		int size = sc.nextInt();
		
		Person[] p = new Person[size];
		for(int i = 0; i < size; i++) {
			System.out.print(String.format("%d번째 선수이름 >> ", i+1));
			String name = sc.next();
			p[i] = new Person(name);
		}
		sc.nextLine();
		
		while(true) {
			for(int i=0; i<p.length; i++) {
				System.out.printf("[%s] : <Enter>", p[i].name);
				sc.nextLine();
				
				int[] num = new int[3];
				for(int j =0; j<3; j++) {
					num[j] = (int)(Math.random()*3)+1;
				}
				System.out.printf("\t %d  %d  %d  ", num[0], num[1], num[2]);
				
				if(num[0] == num[1] && num[1] == num[2] && num[0] == num[2]) {
					System.out.printf("%s님이 이겼습니다!\n",p[i].name );
					return;
				}else { System.out.println("아쉽군요!");}
			}
		}
	}
}

Open Challenge

package org.comstudy.ch6_ex;

import java.util.Scanner;

public class Ch6_OpenChallenge {
	static Scanner sc = new Scanner(System.in);
	public static void main(String[] args) {
		System.out.println("영문 텍스트를 입력하고 세미콜론을 입력하세요.");
		StringBuffer sb = new StringBuffer();
		
/* 알파벳 배열 */
		char[] apb = new char[26];
		for(int i = 0; i<apb.length; i++) {
			// ASCII CODE 를 char로 형변환
			apb[i] = (char)(65+i);
		}
		
		while(true) {
			String text = sc.nextLine();
			if(text.equals(";")) break;
			sb.append(text.toUpperCase()); // 대문자 변환
		}
		
		System.out.println("히스토그램을 그립니다.");
		for(int i = 0 ; i<apb.length; i++) {
			System.out.print(apb[i]);
			for(int j = 0; j<sb.length(); j++) {
				if(apb[i] == sb.charAt(j)) {
					System.out.print("-");
				}
			}
			System.out.println();
		}
	}
}

profile
👨Education Computer Engineering 🎓Expected Graduation: February 2023 📞Contact info thstjddn77@gmail.com

0개의 댓글