import java.util.*;
abstract class Shape{
private Shape next;
public Shape() {next=null;}
public void setNext(Shape obj) {next=obj;}
public Shape getNext() {return next;}
public abstract void draw();
}
class Line extends Shape{
public Line() {};
public void draw() {
System.out.println("Line");
}
}
class Rect extends Shape{
public Rect() {};
public void draw() {
System.out.println("Rect");
}
}
class Circle extends Shape{
public Circle() {};
public void draw() {
System.out.println("Circle");
}
}
*/
/*
* list가 비어있다 list==null
* list의 마지막까지 접근
* cur=list;
* while(cur!=null)
* {
* cur.draw();
* cur=cur.getNext();
* }
*/
/*
public class Main{
Shape list,cur;
Scanner sc=new Scanner(System.in);
void insert() {
System.out.print("Line(1),Rect(2),Cirlce(3)>>");
int a = sc.nextInt();
cur=list;
Shape dh;
if( a==1) dh = new Line();
else if(a==2) dh = new Rect();
else dh = new Circle();
if(list==null) {
list=dh;
return ;
}
while(cur.getNext()!=null) cur=cur.getNext();
cur.setNext(dh);
}
void delete() {
System.out.println("삭제할 도형의 위치>>");
int b=sc.nextInt();
cur=list;
for(int i=0;i<b;i++) {
if(cur==null) {
System.out.println("삭제할 수 없습니다.");
return;
}
cur=cur.getNext();
}
cur=list;
for(int i=0;i<b-2;i++) {
cur=cur.getNext();
}
cur.setNext(null);
}
void print() {
cur=list;
while(cur!=null) {
cur.draw();
cur=cur.getNext();
}
}
void run() {
System.out.println("그래픽 에디터 beauty을 실행합니다.");
while(true) {
System.out.println("삽입(1),삭제(2),모두 보기(3),종료(4)");
int num=sc.nextInt();
if(num==1) {
insert();
}
else if(num==2) {
delete();
}
else if(num==3) {
print();
}
else {
System.out.println("beauty을 종료합니다.");
break;
}
}
}
public static void main(String[] args) {
Main a=new Main();
a.run();
}
}



