본문 바로가기

java/예제&실습10

[명품자바] 7장 실습문제(10~13) 10. 그래픽 편집기 작성 [난이도 7]- Vector 이용- 추상 클래스 Shape와 이를 상속받는 Line, Rect, Circle 클래스- "삽입", "삭제", "모두 보기", "종료" 4가지 그래픽 편집 기능abstract class Shape { public Shape() {} public void paint() {draw();} abstract public void draw();}class Line extends Shape{ @Override public void draw() { System.out.println("Line"); }}class Rect extends Shape{ @Override public void draw() { System.out.println("Rect"); }}cl.. 2024. 7. 1.
[명품자바] 7장 실습문제(5~9) 난이도 6 이상만 5. 학생 정보 저장&출력 프로그램 [난이도 6]- 학생 정보를 저장하는 Student 클래스- Student 클래스는 이름, 학과, 학번(int), 학점 평균(double)을 저장하는 필드를 가짐- 학생마다 Student 객체를 생성하고 4명의 학생 정보를 ArrayList 컬렉션에 저장한 후, ArrayList의 모- - 든 학생 정보를 출력하고 학생 이름을 입력받아 해당 학생의 학점 평균을 출력하는 프로그램을 작성 - 실행 예시 >>풀이public class Student { String name; //이름 String dept; //학과 int stdID; //학번 double gpa; //학점 평균 public Student(String name, String dept, i.. 2024. 7. 1.
[명품자바] 6장 실습문제 난이도 6 이상만 6. 경과시간 맞추기 게임 [난이도 6] - 다음 예시를 참고하여 키를 입력하면 현재 초 시간을 보여주고, 여기서 10초에 더 근접하도록 다음 키를 입력한 사람이 이기는 게임※ 키 입력을 위해서 Scanner.nextLine()을 호출하면 된다 Player 클래스import java.util.Calendar;public class Player{ Calendar calendar; String name; int previous; int following; int interval; public Player(String name) { this.name=name; } public int getPreviousTime() { calendar=Calendar.getInstance(); p.. 2024. 6. 27.
[명품자바] 8장 오픈챌린지 행맨 게임 만들기 25143개의 영단어를 가진 words.txt 파일을 읽고(명품자바 학습자료 사이트에서 다운 가능) 사용자 모르게 단어 하나를 선택이 단어에서 2개의 글자를 숨긴 다음 화면에 출력하여 사용자가 단어를 맞추게 하는 게임한 단어에 대해 5번 틀리면 프로그램 종료 words.txt 파일의 모든 단어를 읽어 다음의 스트링 벡터에 저장words.txt 파일에는 한 라인에 하나의 영어 단어가 들어 있으며, Scanner를 이용하여 한 라인씩 읽어 저장Vector wordVector = new Vector();Scanner scanner = new Scanner(new FileReader("words.txt"));while(scanner.hasNext()){ String word = scanner... 2024. 6. 25.
[명품자바] 7장 오픈챌린지 영어 단어 뜻 맞추기 게임 영어 단어와 한글 단어로 구성되는 Word 클래스를 작성여러 개의 Word 객체를 Vector 컬렉션에 삽입이 중 랜덤하게 사용자에게 문제 출제벡터 내에 정답이 아닌 단어를  랜덤하게 3개 선택하고 정답과 함께 4개의 보기 출력-1 입력 시 종료 ex)painting?(1)그림 (2)감정 (3)아기 (4)오류>>  Word 클래스와 WordQuiz 클래스를 작성하고 WordQuiz 클래스에 main() 메소드WordQuiz 클래스에서 아래와 같이 벡터를 만들고 미리 여러 개의 Word 객체를 삽입하는 코드 작성Vector v=new Vector();v.add(new Word("love", "사랑"));v.add(new Word("animal", "동물")); Word 클래스pu.. 2024. 6. 20.
[명품자바] 6장 오픈챌린지 영문자 히스토그램 만들기 텍스트를 키보드로 입력알파벳이 아닌 문자는 제외하고 영문자 히스토그램으로대문자와 소문자는 모두 같은 것으로 취급세미콜론(;)만 있는 라인을 만나면 입력의 끝으로 간주 키보드로부터 텍스트를 입력받아 하나의 문자열로 리턴하는 코드는 다음 코드를 이용하라고 합니다String readString() { StringBuffer sb=new StringBuffer(); Scanner scanner=new Scanner(System.in); while(true) { String line=scanner.nextLine(); if(line.equals(";")) break; //';'만 있는 라인이면 입력 종료 sb.append(line); //읽은 문자열을 스트링버퍼에.. 2024. 6. 19.