//244.7
/*
import java.util.*;
class Day {
private String work;
public void set(String work) { this.work = work; }
public String get() { return work;}
public void show() {
if( work == null ) System.out.println("없습니다.");
else System.out.println(work + "입니다.");
}
}
class MonthSchedule {
Day arr[];
Scanner scan = new Scanner(System.in);
public MonthSchedule(int n) {
arr = new Day[n];
}
public void run() {
int a,b;
while(true) {
System.out.print("할일(입력:1, 보기:2, 끝내기:3) >>");
a = scan.nextInt();
if(a == 3) {
finish();
}
else {
System.out.print("날짜(1~30)?");
b = scan.nextInt();
if(a == 1)
input(b);
else
view(b);
}
}
}
public void input(int day) {
String work;
System.out.print("할일(빈칸없이입력)?");
work = scan.next();
arr[day] = new Day();
arr[day].set(work);
System.out.println();
}
public void view(int day) {
System.out.print(day + "일의 할 일은 ");
arr[day].show();
System.out.println();
}
public void finish() {
System.out.print("프로그램을 종료합니다.");
System.exit(0);
}
}
public class Main {
public static void main(String[] args) {
System.out.println("이번달 스케쥴 관리 프로그램.");
MonthSchedule april = new MonthSchedule(30);
april.run();
}
}
import java.util.*;
class PhoneBook{
String tell,name;
public void set(String tell,String name) {
this.tell = tell;
this.name = name;
}
}
class Setting{
PhoneBook arr[];
Scanner scan = new Scanner(System.in);
int length;
public Setting(int n) {
arr = new PhoneBook[n];
length = n;
}
public void input() {
for(int i = 0; i < length; i++) {
System.out.print("이름과 전화번호(이름과 번호는 빈 칸없이 입력)>>");
String name = scan.next(), tell = scan.next();
arr[i] = new PhoneBook();
arr[i].set(tell, name);
}
System.out.println("저장되었습니다...");
scan();
}
public void scan() {
String name;
while(true) {
System.out.print("검색할 이름>>");
name = scan.next();
if(name.equals("그만")) {
stop();
}
else {
scanning(name);
}
}
}
public void scanning(String name) {
for(int i = 0; i < length; i++) {
if(arr[i].name.equals(name)) {
System.out.println(name + "의 번호는 " + arr[i].tell + " 입니다.");
return;
}
}
System.out.println(name + " 이 없습니다.");
}
public void stop() {
System.exit(0);
}
}
public class Main{
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int n;
System.out.print("인원수>>");
n = scan.nextInt();
Setting phone = new Setting(n);
phone.input();
}
접근지정자
public protected default private
class Day {
public static int num=0;
private String work;
public void set(String work) { this.work = work; }
public String get() { num++; return work;}
public void show() {
if( work == null ) System.out.println("없습니다.");
else System.out.println(work + "입니다.");
}
public static void setnum() { //static 메소드에서 nonstatic 필드 접근 불가능
//work="work"; //
num++;
}
}
public class Main {
public static void main(String[] args) {
Day d1 = new Day();
Day d2 = new Day();
d1.num=10;
System.out.println(d2.num);
Day.num=10;
System.out.println(Day.num);
}
}
*/
/*
import java.util.*;
class Player {
String PlayerName;
static String word;
public void set(String name) {
PlayerName = name;
}
public void scan() {
static String sum;
Scanner scan = new Scanner(System.in);
sum = scan.next();
}
}
class WordGameApp {
Player arr[];
Scanner scan = new Scanner(System.in);
public void setting(){
System.out.println("끝말잇기 게임을 시작합니다...");
System.out.print("게임에 참가하는 인원은 몇명입니까>>");
int n = scan.nextInt();
arr = new Player[n];
for(int i = 0; i < n; i++) {
System.out.print("참가자의 이름을 입력하세요>>");
String name;
name = scan.next();
arr[i] = new Player();
arr[i].set(name);
}
Player.word = "아버지";
start();
}
public void start() {
System.out.println("시작하는 단어는 아버지입니다");
int turn = 0;
String word;
while(true) {
System.out.print(arr[turn].PlayerName + ">>");
word = scan.next();
char first = word.charAt(0);
if(first == Player.word.charAt(Player.word.length() - 1)) {
Player.word = word;
}
else {
System.out.print(arr[turn].PlayerName +"이 졌습니다.");
System.exit(0);
}
if(turn == 2) {
turn = 0;
}
else {
turn ++;
}
}
}
}
public class Main {
public static void main(String[] args) {
WordGameApp game = new WordGameApp();
game.setting();
}
}
*/
/*
import java.util.*;
class ArrayUtil{
public static int [] concat(int[] a, int[] b) {
int arr[] = new int[a.length + b.length];
System.arraycopy(a, 0, arr, 0, a.length);
System.arraycopy(b, 0, arr, a.length, b.length);
return arr;
}
public static void print(int[] a) {
System.out.print("[ ");
for(int i = 0; i < a.length; i++) {
System.out.print(a[i] + " ");
}
System.out.print("]");
return ;
}
}
public class Main {
public static void main(String [] args) {
int [] array1 = { 1, 5, 7, 9 };
int [] array2 = { 3, 6, -1, 100, 77 };
int [] array3 = ArrayUtil.concat(array1, array2);
ArrayUtil.print(array3);
}
}
super - sub
부모 - 자식
상속
extends
*/
/*
class Person{
int age;
private String name;
void view() {
System.out.println("나이는 "+age+"이고, 이름은 "+name+"입니다.");
}
}
class Student extends Person{
public String school;
private char grade;
void view() { //오버라이딩 덮어쓰기
super.view();
System.out.println("학교는"+school+"이고, 성적은"+grade+"입니다.");
}
}
class Main{
public static void main(String[] args) {
Student s = new Student();
s.view();
}
}
*/
// 예제 5-1
/*
class Point {
private int x,y;
public void set(int x,int y) { // 한점을 구성하는 x, y 자표
this.x = x; this.y = y;
}
public void showPoint() { // 점의 좌표 출력
System.out.println("(" + x + "," + y + ")");
}
}
class ColorPoint extends Point {
private String color;
public void setColor(String color) { // Point를 상속받은 ColorPoint 선언
this.color = color;// 점의 색
}
public void showColorPoint() { // 컬러 점의 좌표 출력
System.out.print(color);
showPoint(); // Point 클래스의 showPoint() 호출
}
}
public class ColorPointEx {
public static void main(String[] args) {
Point p = new Point(); // Point 객체 생성
p.set(1, 2); // Point 클래스의 set() 호출
p.showPoint();
ColorPoint cp = new ColorPoint(); // ColorPoint 객체 생성
cp.set(3, 4);// Point 클래스의 set() 호출
cp.setColor("red"); // ColorPoint 클래스의 setColor() 호출
cp.showColorPoint(); // 컬러와 좌표 출력
}
}
*/
//예제 5-2
/*
class Person {
private int weight; // private 접근 지정. Student 클래스에서 접근 불가
int age; //디폴트 접근 지정. Student 클래스에서 접근 가능
protected int height; //protected 접근 지정. Student 클래스에서 접근 가능
public String name; //public 접근 지정. Student 클래스에서 접근 가능
public void setWeight(int weight) {
this.weight = weight;
}
public int getWeight() {
return weight;
}
}
class Student extends Person {
public void set() {
age = 30; // 슈퍼 클래스의 디폴트 멤버 접근 가능
name = "홍길동"; // 슈퍼 클래스의 public 멤버 접근 가능
height = 175; // 슈퍼 클래스의 protected 멤버 접근 가능
//weight = 99; // 오류.슈퍼 클래스의 privated 멤버 접근 불가
setWeight(99); // private 멤버 weight은 setWeight()으로 간접 접근
}
}
public class InheritanceEx {
public static void main(String[] args) {
Student s = new Student();
s.set();
}
}*/