본문 바로가기

JAVA/기초 프로그래밍

(55)
함수//클래스에서 오버라이딩하여 변수 값 비교하기 (*헷깔림) 문제 : 다음과 같은 실행결과를 얻도록 Point3D클래스의 equals()를 멤버변수인 x, y, z 의 값을 비교하도록 오버라이딩하고, toString()은 실행결과를 참고해서 적절히 오버라이딩하시오. 실행결과 [1,2,3] [1,2,3] p1==p2?false p1.equals(p2)?true Point3D public class Point3D { int x,y,z; public Point3D(int x, int y, int z) { this.x=x; this.y=y; this.z=z; } public Point3D() { this(0,0,0); } public boolean equals(Object obj) { /* (1) 인스턴스변수 x, y, z를 비교하도록 오버라이딩하시오. */ Point3..
함수//상속//도형면적 반환 Circle도형 클래스와 Rectangle도형 클래스에 double calcArea()메서드를 오버라이드 생성해준다. 기본생성자에 지역변수를 만들고 오버라이드에 공식을 리턴값으로 지정해준다. (메인에서 오버라이드 호출하면 원, 사각형 상관없이 바로 계산될 수 있게) ( 부모클래스 Shape에 초기값을 설정하는 Point를 호출 ) Circle public class Circle extends Shape { double r; public Circle() { } public Circle(double r) { super(); this.r = r; } //무조건. @Override double calcArea() { return (r * r * Math.PI);//반지름 값으로 수정 } } Rectangle p..
ArrayList 와 LinkedList ArrayList : 검색, 대입 == Vector LinkedList : 실시간 추가, 삭제의 처리가 빠르다 ArrayList에서 LindedList로 바꿔 사용하는것이 포인트 ArrayList alist = new ArrayList(); // list의 내용내용내용~ LinkedList blist = new LinkedList( alist ); //맨 앞의 element를 추가 blist.addFirst("giants"); //맨 뒤에 element를 추가 blist.addLast("bears"); main public class mainClass { public static void main(String[] args) { ArrayList alist = new ArrayList(); alist.ad..
interface//인터페이스 NameCard 방법1 interface 인 PrintNameCard 클래스를 만들어 나머지 카드1,2에 상속 후 오버라이딩 해줌 메인에서 NameCard 객체 ncard 생성 후 "이름","전화번호","이메일" 을 넣어준 후 ncard . setPrintNameCard (new PrintNameCard2()); 로 대입해준 후 print()로 호출하면 값이 나옴. NameCard에 인터페이스 PrintNameCard PrintNameCard 객체 생성 후 setPrintNameCard 메서드를 만들어 들어오는 매개변수 PrintNameCard p 값을 this . PrintNameCard에 새로 저장, print메서드를 생성해 printNameCard.print( this ); -> this를 출력. PrintName..
야구선수 등록 프로그램(답안) PrintWriter pw = new PrintWriter(new BufferedWriter(new FileWriter(file))); // 세줄짜리를 한줄로 줄여줌 설명사항 File FileProc 기본생성자는 주로 외부에서 파일을 받아오는 편으로 입력값String이 있다 public FileProc_me(String filename) { file = new File("d:/tmp/"+filename+"txt"); } loadData 생성자는 문자열을 리턴하므로 String[]형이고 배열을 생성시 먼저 null로 초기화 시켜준 후 //data 의갯수를 조사 //data를 할당 //배열 저장(재 초기화 해줘야 포인터가 맨 앞에 가있으므로 저장시 bufferedReader를 초기화해준다 //return 배..
야구선수 등록 프로그램(Me) 1. Human, Batter, Pitcher은 모두 끌어다 쓸 거여서 getter,setter셋팅, 기본생성자, this. , (toString-> 나중에 출력을 위한것: 오버라이딩 주의)까지 생성해준다 -> 자식클래스의 this. 변수에 Human this.를 추가 -> 자식클래스의 toString()출력부분 앞에 super.toString()을 추가. = Human값까지 출력 (ex, Human [number=4, name=3, age=5, height=3.0] Batter [batcount=4, hit=5, hitAvg=5.0]) 2. 나는 데이터 불러오기와 저장까지는 못했음 3. 배열은 부모클래스의 배열로 잡아서 대입 (상속을 받았을 땐 부모클래스의 인스턴스로 자식 클래스를 묶을 수 있음 -> ..
Calendar 캘린더 Class 번외; 지정된 날짜 범위를 뽑아내기 해보기 dateClass찾아보기 가계부, 주소록; ======================================================== 일월화수목금토 ======================================================== ******1 2345678 9101112131415 16171819202122 23242526272829 3031***** import java.util.Calendar; import java.util.GregorianCalendar; public class mainClass { public static void main(String[] args) { /* Calendar-> year month day ..
객체//베팅게임 /* 두개의 주사위 합을 맞히는 게임 제작 코인: 20개 합을 맞추면 제시한 숫자에 따라서 배당금이 달라집니다. 2, 12 : 제시할 수없음 3, 11 : 18 배 4, 10 : 12 배 5, 9 : 9 배 6, 8 : 7 배 7 : 6 배 배팅할 코인 수는? -------> 입력 두 주사위의 합은? -------> 입력 2, 12를 입력하면 다시 입력 두 주사위의 합은? -------> 6 주사위 번호 출력 결과 출력 */ main 1. GamePlay gp = new GamePlay(); gp.gamePlay(); 2. (new GamePlay()).gamePlay(); 3. new GamePlay(); ->1,2,3번은 다 클래스를 불러올 수 있는 객체생성및 클래스 호출 방법이다. Ex) publi..