메뉴 바로가기 검색 및 카테고리 바로가기

한빛미디어

뇌를 자극하는 java 프로그래밍

뇌를 자극하는 java 프로그래밍 질의응답 게시판입니다.

안녕하세요 질문있습니다

2014-08-29

|

by gmawhaan88

2040

class Point
{
        public int x;  
        public int y;  
                                        
        public Point(int xx, int yy)
        {
                x=xx;
                y=yy;
        }
        public void showPointInfo()
        {
                System.out.println("좌표:"+x+", "+y);
        }
}

class Circle
{
        int r;

        public Circle(int x, int y, int rr)
        {
                Point p=new Point(x, y);
                r=rr;
                System.out.println("반지름"+r);
        }

}



class Ring
{
        boolean Ring(Circle inC, Circle outC)
        {
                int i=outC.r-inC.r;

                if(outC.r>inC.r)
                {
                        
                        if(i==1)
                        System.out.println("두께가 일정한 링입니다"); return true;
                        
                        if(i>=2)
                        {
                                if(inC.p.x<=outC.p.x+(i-1) && inC.p.x<=outC.p.x-(i-1))
                                        System.out.println("두원의 x좌표값이 적절합니다");        
                                else
                                {
                                        System.out.println("x좌표값이 적절하지 않습니다");
                                        return false;
                                }

                                if(inC.p.x<=outC.p.y+(i-1) && inC.p.x<=outC.p.y-(i-1))
                                {
                                        System.out.println("두원의 y좌표값이 적절합니다");
                                        return true;
                                }
                                else
                                {
                                        System.out.println("x좌표값이 적절하지 않습니다");
                                        return false;
                                }
                        }
                        
                }
                else
                {
                        System.out.println("안쪽 원의 지름이 바깥쪽 원의 지름보다 큽니다");
                        return false;
                }
                
        }
}


class Main
{
        public static void main(String[] args)
        {
                Circle inC=new Circle(1,0,3);
                Circle outC=new Circle(2,0,6);
                Ring r1=new Ring(inC, outC);

        }
}





if(inC.p.x<=outC.p.x+(i-1) && inC.p.x<=outC.p.x-(i-1)) 이부분부터 에러가 나는데

도무지 이유를 모르겠어요



Circle inC=new Circle(1,0,3);에서 인스턴스 p만들어지지 않나요?

그러면 p에 있는  변수 x에 접근할 때 inC.p.x 로 하는게 아닌지 궁금합니다





위에 에러나는부분만 따로 해봤는데

class gib
{
        int x;
        int y;
        gib(int r1, int r2)
        {
                x=r1;
                y=r2;
        }
}

class sib
{

        public sib(int x1, int y1)
        {
                gib p=new gib(x1, y1);
              
        }

}

class some
{
        public static void main(String[] args)
        {
                sib retard=new sib(5, 12);

                System.out.println(retard.p);
        }
}


이것역시 에러에요
댓글 입력