1.
package Chapter6;
class MyPoint {
private int x;
private int y;
public MyPoint(int x, int y) {
this.x = x;
this.y = y;
}
public String toString() {
return"Point("+this.x+","+this.y+")";
}
public boolean equals(Object obj) {
MyPoint m = (MyPoint)obj;
if(x==m.x && y==m.y) return true;
else return false;
}
}
public class Example {
public static void main(String [] args) {
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 Chapter6;
class Circle {
private int x;
private int y;
private int radius;
public Circle(int x, int y, int radius) {
this.x = x;
this.y = y;
this.radius = radius;
}
public String toString() {
return "Circle("+x+","+y+")반지름"+radius;
}
public boolean equals(Object obj) {
Circle c = (Circle)obj;
if(x==c.x && y==c.y) return true;
else return false;
}
}
public class Example {
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.
(1) etc 패키지
package 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; }
}
(2) main 패키지
package main;
import etc.Calc;
public class MainApp {
public static void main(String[] args) {
Calc c = new Calc(10, 20);
System.out.println(c.sum());
}
}
4.
(1) base 패키지
package base;
public class Shape {
public void draw() { System.out.println("Shape"); }
}
(2) derived 패키지
package derived;
import base.Shape;
public class Circle extends Shape {
public void draw() { System.out.println("Circle"); }
}
(3) app 패키지
package app;
import base.Shape;
import derived.Circle;
public class GraphicEditor {
public static void main(String[] args) {
Shape shape = new Circle();
shape.draw();
}
}
5.
package Chapter6;
import java.util.Calendar;
public class Example {
public static void main(String [] args) {
Calendar now = Calendar.getInstance();
int hour = now.get(Calendar.HOUR_OF_DAY);
int minute = now.get(Calendar.MINUTE);
System.out.println("현재 시간은 "+hour+"시 "+minute+"분 입니다.");
if(hour > 4 && hour < 12)
System.out.println("Good Morning");
else if(hour >= 12 && hour < 18)
System.out.println("Good Afternoon");
else if(hour >= 18 && hour < 22)
System.out.println("Good Evening");
else
System.out.println("Good Night");
}
}
6.
package Chapter6;
import java.util.Scanner;
import java.util.Calendar;
class Person {
Calendar now = Calendar.getInstance();
Scanner sc = new Scanner(System.in);
private String name, buffer;
private int sec1, sec2;
public Person(String name) {
this.name = name;
}
public int game() {
System.out.print(name+" 시작 <Enter>키 >>");
sec1 = enter();
System.out.print("10초 예상 후 <Enter>키 >>");
sec2 = enter();
if(sec1 < sec2)
return sec2-sec1;
else
return (60-sec1) + sec2;
}
public int enter() {
buffer = sc.nextLine();
now = Calendar.getInstance();
System.out.println("\t현재 초 시간 = "+ now.get(Calendar.SECOND));
return now.get(Calendar.SECOND);
}
}
public class Example {
public static void main(String[] args) {
Person person1 = new Person("황기태");
Person person2 = new Person("이재문");
System.out.println("10초에 가까운 사람이 이기는 게임입니다.");
int result1 = person1.game();
int result2 = person2.game();
if(Math.abs(result1 - 10) < Math.abs(result2 - 10))
System.out.println("황기태의 결과 "+result1+", 이재문의 결과 "+result2+", 승자는 황기태");
else
System.out.println("황기태의 결과 "+result1+", 이재문의 결과 "+result2+", 승자는 이재문");
}
}
7.
(1) StringTokenizer 클래스를 이용하여 작성하라.
package Chapter6;
import java.util.Scanner;
import java.util.StringTokenizer;
public class Example {
public static void main(String [] args) {
Scanner sc = new Scanner(System.in);
while(true) {
System.out.print(">>");
String a = sc.nextLine();
if(a.equals("그만")) {
System.out.println("종료합니다...");
break;
}
StringTokenizer st = new StringTokenizer(a, " ");
int n = st.countTokens();
System.out.println("어절 개수는 "+ n);
}
}
}
(2) String 클래스의 split() 메소드를 이용하여 작성하라.
package Chapter6;
import java.util.Scanner;
public class Example {
public static void main(String [] args) {
Scanner sc = new Scanner(System.in);
while(true) {
System.out.print(">>");
String a = sc.nextLine();
if(a.equals("그만")) {
System.out.println("종료합니다...");
break;
}
String s[] = a.split(" ");
int n = s.length;
System.out.println("어절 개수는 "+ n);
}
}
}
8.
package Chapter6;
import java.util.Scanner;
public class Example {
public static void main(String [] args) {
Scanner sc = new Scanner(System.in);
System.out.println("문자열을 입력하세요. 빈칸이나 있어도 되고 영어 한글 모두 됩니다.");
String a = sc.nextLine();
for(int i=1; i<a.length()+1; i++) {
System.out.print(a.substring(i));
System.out.println(a.substring(0, i));
}
}
}
9.
package Chapter6;
import java.util.Scanner;
public class Example {
public static void main(String [] args) {
Scanner sc = new Scanner(System.in);
while(true) {
System.out.print("철수[가위(1), 바위(2), 보(3), 끝내기(4)]>>");
int number = sc.nextInt();
int com = (int)(Math.random()*4+1);
if(number == 4)
break;
if(number == 1) {
if(com==1) {
System.out.println("철수(가위) : 컴퓨터(가위)");
System.out.println("무승부입니다.");
continue;
}
else if(com==2) {
System.out.println("철수(가위) : 컴퓨터(바위)");
System.out.println("컴퓨터가 이겼습니다.");
continue;
}
else {
System.out.println("철수(가위) : 컴퓨터(보)");
System.out.println("철수가 이겼습니다.");
continue;
}
}
if(number == 2) {
if(com==1) {
System.out.println("철수(바위) : 컴퓨터(가위)");
System.out.println("철수가 이겼습니다.");
continue;
}
else if(com==2) {
System.out.println("철수(바위) : 컴퓨터(바위)");
System.out.println("무승부입니다.");
continue;
}
else {
System.out.println("철수(바위) : 컴퓨터(보)");
System.out.println("컴퓨터가 이겼습니다.");
continue;
}
}
if(number == 3) {
if(com==1) {
System.out.println("철수(보) : 컴퓨터(가위)");
System.out.println("컴퓨터가 이겼습니다.");
continue;
}
else if(com==2) {
System.out.println("철수(보) : 컴퓨터(바위)");
System.out.println("철수가 이겼습니다.");
continue;
}
else {
System.out.println("철수(보) : 컴퓨터(보)");
System.out.println("무승부입니다.");
continue;
}
}
}
}
}
10.
package Chapter6;
import java.util.Scanner;
class Person{
String name;
int number [] = new int [3];
public Person(String name) {
this.name = name;
}
int[] RandomNum() {
for(int i=0; i<3; i++) {
number[i] = (int)(Math.random()*3 + 1);
}
return number;
}
}
public class Example {
public static void main(String [] args) {
Scanner sc = new Scanner(System.in);
System.out.print("1번째 선수 이름>>");
String str = sc.nextLine();
Person one = new Person(str);
System.out.print("2번째 선수 이름>>");
String str2 = sc.nextLine();
Person two = new Person(str2);
while(true) {
// 첫번째 사람
System.out.print("["+one.name+"]:<Enter>");
sc.nextLine();
int number [] = one.RandomNum();
for(int i=0; i<3; i++) {
System.out.print(number[i] + " ");
}
if(number[0] == number[1] && number[0]==number[2]) {
System.out.println(one.name+"님이 이겼습니다!");
break;
}
else {
System.out.println("아쉽군요!");
}
// 두번째 사람
System.out.print("["+two.name+"]:<Enter>");
sc.nextLine();
int number2 [] = two.RandomNum();
for(int i=0; i<3; i++) {
System.out.print(number2[i] + " ");
}
if(number2[0] == number2[1] && number2[0]==number2[2]) {
System.out.println(two.name+"님이 이겼습니다!");
break;
}
else {
System.out.println("아쉽군요!");
continue;
}
}
}
}
11.
package Chapter6;
import java.util.Scanner;
public class Example {
public static void main(String [] args) {
Scanner sc = new Scanner(System.in);
System.out.print(">>");
String str = sc.nextLine();
StringBuffer sb = new StringBuffer(str);
while(true) {
System.out.print("명령: ");
String change = sc.nextLine();
if(change.equals("그만")) {
System.out.println("종료합니다.");
break;
}
String [] voca = change.split("!");
if(voca.length != 2)
System.out.println("잘못된 명령입니다!");
if(voca[0].length() == 0 || voca[1].length() == 0) {
System.out.println("잘못된 명령입니다!");
continue;
}
// 바꿀 단어가 문장에 없으면 -1을 반환
int index = sb.indexOf(voca[0]);
if(index == -1) {
System.out.println("찾을 수 없습니다!");
continue;
}
sb.replace(index, index+voca[0].length(), voca[1]);
System.out.println(sb.toString());
}
}
}
12.
package Chapter6;
import java.util.Scanner;
class Person{
String name;
int number [] = new int [3];
public Person(String name) {
this.name = name;
}
int[] RandomNum() {
for(int i=0; i<3; i++) {
number[i] = (int)(Math.random()*3 + 1);
}
return number;
}
}
public class Example {
public static void main(String [] args) {
Scanner sc = new Scanner(System.in);
System.out.print("갬블링 게임에 참여할 선수 숫자>>");
int n = sc.nextInt();
sc.nextLine();
Person people [] = new Person [n];
for(int i=0; i<n; i++) {
System.out.print((i+1)+"번째 선수 이름>>");
String str = sc.nextLine();
people[i] = new Person(str);
//System.out.println(people[i].name);
}
while(true) {
for(int i=0; i<n; i++) {
System.out.print("["+people[i].name+"]:<Enter>");
sc.nextLine();
int number [] = people[i].RandomNum();
for(int j=0; j<3; j++) {
System.out.print(number[j] + " ");
}
if(number[0] == number[1] && number[0]==number[2]) {
System.out.println(people[i].name+"님이 이겼습니다!");
return;
}
else {
System.out.println("아쉽군요!");
}
}
}
}
}
'자바 > 명품 자바 프로그래밍' 카테고리의 다른 글
명품 자바 프로그래밍 7장 실습문제 / 2022.01.25 (0) | 2022.01.25 |
---|---|
명품 자바 프로그래밍 7장 이론문제 / 2022.01.02 (0) | 2022.01.02 |
명품 자바 프로그래밍 6장 이론 문제 / 2021.11.20 (0) | 2021.11.20 |
명품 자바 프로그래밍 5장 실습 문제 / 2021.11.16 (0) | 2021.11.16 |
명품 자바 프로그래밍 5장 이론 문제 / 2021.11.10 (0) | 2021.11.10 |