실습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) {
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) {
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) {
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
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());
}
}
}
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) {
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;
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) {
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++) {
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();
}
}
}