/*
import java.util.*;
class Player {
String name;
String word;
public Player(String name) {
this.name=name;
}
void getWordFromUser() {
Scanner sc=new Scanner(System.in);
System.out.print(name+">>");
String word = sc.next(); //현재단어
}
boolean checkSuccess(String prevWord) {
int LastIndex=prevWord.length()-1;
char lastChar=prevWord.charAt(LastIndex);
char firstChar=word.charAt(0);
if(lastChar!=firstChar) return false;
else return true;
}
}
public class Main {
public static void main(String[] args) {
Main m = new Main();
m.run();
}
void run() {
Scanner sc=new Scanner(System.in);
System.out.print("게임에 참가하는 인원은 몇명입니까>>");
int n = sc.nextInt();
//Player객체 배열 n개
Player p[] = new Player[n];
for(int i=0;i<n;i++) {
System.out.println("참가자의 이름을 입력하세요>>");
String name = sc.next();
p[i] = new Player(name);
}
//게임 시작
System.out.println("시작하는 단어는 아버지 입니다");
String word = "아버지";
while(true) {
for(int i=0;i<n;i++) {
word = p[i].getWordFromUser();
p[i].checkSuccess(prevWord)
}
}
}
}
*/
/*
*/
/*
import java.util.*;
class Player {
private String name;
public Player(String name) {this.name=name;}
public String getName() {return name;}
}
public class Main{
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
Player [] p=new Player[2];
for(int i=0;i<2;i++) {
System.out.println("선수 이름 입력");
p[i] =new Player(scanner.next());
}
int n=0;
while(true) {
System.out.print(p[n].getName()+"<Enter 외 아무거나 치세요>");
scanner.next();
int [] val=new int[3];
for(int i=0;i<val.length;i++) {
val[i] =(int)(Math.random()*3);
System.out.print(val[i]+"\t");
}
System.out.println();
if(val[0]==val[1]&&val[1]==val[2]) {
System.out.println(p[n].getName()+"이 승리하였습니다");
break;
}
n++;
n=n%2;
}
}
}
import java.util.*;
슈퍼클래스 부모클래스
서브클래스 자식클래스
상속 extends
class Person{
String name;
int age;
void speak() {
System.out.println("안녕하세요 저는 사람입니다");
}
}
class Student extends Person{
char grade;
}
class Teacher extends Person{
String sub;
}
class El_Student extends Student{
}
class Main{
public static void main(String[] args) {
//Person p = new Person();
Student s = new Student();
s.name="스폰지밥";
}
}
*/
/*
class Point {
private int x,y;
public void set(int x,int 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) {
this.color=Color;
}
public void showColorPoint() {
System.out.println(color);
showPoint();
}
}
public class Main {
public static void main(String[]args) {
Point p=new Point();
p.set(1,2);
p.showPoint();
ColorPoint cp=new ColorPoint();
cp.set(3, 4);
cp.setColor("red");
cp.showColorPoint();
}
}*/
/*
class Point {
private int x, y;
public void set(int x, int 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) {
this.color=color;
}
public void showColorPoint() {
System.out.println(color);
showPoint();
}
}
public class Main {
public static void main(String[]args) {
Point P=new Point();
P.set(1,2);
P.showPoint();
ColorPoint cp=new ColorPoint();
cp.set(3, 4);
cp.setColor("red");
cp.showColorPoint();
}
}
*/
/*
class point {
private int x,y;
public point() {
this.x=this.y=0;
}
public point(int x,int y) {
this.x=x;this.y=y;
}
public void showPoint() {
System.out.println("("+x+","+y+")");
}
}
class ColorPoint extends point {
private String color;
public ColorPoint(int x,int y,String color) {
super(x,y);
this.color=color;
}
public void showColorPoint() {
System.out.println(color);
showPoint();
}
}
public class Main {
public static void main(String[]args) {
ColorPoint cp=new ColorPoint(5,6,"blue");
cp.showColorPoint();
}
}
추상클래스 (틀만있고, 객체는 생성할수없는 클래스)
*/
//abstract class Circle {
// private int radius;
//
// public Circle(int radius) {
// this.radius = radius;
// }
//
// public int getRadius() {
// return radius;
// }
//
// public abstract void show(); //추상메소드
//}
/*
interface Circle{
abstract int getRadius(); //추상메소드
}
//class NamedCircle extends Circle {
class NamedCircle implements Circle {
private String name;
public NamedCircle(int radius, String name) {
super(radius);
this.name = name;
}
public void show() {
System.out.println(name + ", radius =" + getRadius());
}
}
public class Main {
public static void main(String[] args) {
NamedCircle w = new NamedCircle(5, "waffle");
w.show();
}
}
*/
/*
interface AdderInterface {
int add(int x, int y);
int add(int n);
}
class MyAdder implements AdderInterface {
public int add(int x, int y) {
return x + y;
}
public int add(int n) {
int sum = 0;
for (int i = 1; i <= n; i++) {
sum = sum + i;
}
return sum;
}
}
class Main {
public static void main(String[] args) {
MyAdder adder = new MyAdder();
System.out.println(adder.add(5, 10));
System.out.println(adder.add(10));
}
}*/
import java.util.*;
abstract class Calculator {
protected int a,b;
abstract protected int calc();
protected void input() {
Scanner scanner=new Scanner(System.in);
System.out.println("정수 2개를 입력하세요>>");
a=scanner.nextInt();
b=scanner.nextInt();
}
public void run() {
input();
int res=calc();
System.out.println("계산된 값은"+res);
}
}
class Adder extends Calculator {
protected int calc() {
return a+b;
}
}
class Subtracter extends Calculator {
protected int calc() {
return a-b;
}
}
public class Main {
public static void main(String[]args) {
Adder adder =new Adder();
Subtracter sub=new Subtracter();
adder.run();
sub.run();
}
}



