-
반응형
[1번]
class TV{ private int inch,year; private String company; public TV(String c,int y,int i) { inch=i; year=y; company=c; } public void show() { System.out.println(company+"에서 만든 "+year+"년형 "+inch+"인치 TV"); } } public class p0401 { public static void main(String[] args) { TV myTV=new TV("LG",2017,32); myTV.show(); } }
[2번]
import java.util.Scanner; class Grade{ private int math,science,english; public Grade(int m,int s,int e) { math=m; science=s; english=e; } public int average() { return (math+science+english)/3; } } public class p0402 { public static void main(String[] args) { Scanner scanner=new Scanner(System.in); System.out.print("수학, 과학, 영어 순으로 3개의 점수 입력>>"); int math=scanner.nextInt(); int science=scanner.nextInt(); int english=scanner.nextInt(); Grade me = new Grade(math,science,english); System.out.println("평균은 "+me.average());//average()는 평균을 계산하여 리턴 scanner.close(); } }
[3번]
class Song{ private String title,artist,country; private int year; public Song(){ } public Song(String t,String a,int y,String c) { title=t; artist=a; year=y; country=c; } void show() { System.out.println(year+"년 "+country+"국적의 "+artist+"가 부른 "+title ); } }
[4번]
import java.util.Scanner; class Rectangle{ private int x,y,width,height; public Rectangle(int x,int y,int width,int height) { this.x=x; this.y=y; this.width=width; this.height=height; } public void show() { System.out.println("("+x+","+y+")에서 크기가 "+width+"x"+height+"인 사각형"); } public boolean contains(Rectangle r) { if((x<r.x)&&(y<r.y)&&(x+width)>(r.x+r.width)&&(y+height)>(r.y+r.height)) { return true; } else { return false; } } public int square() { return height*width; } } public class p0404 { public static void main(String[] args) { Rectangle r = new Rectangle(2,2,8,7); Rectangle s = new Rectangle(5,5,6,6); Rectangle t = new Rectangle(1,1,10,10); r.show(); System.out.println("s의 면적은 "+s.square()); if(t.contains(r)) System.out.println("t는 r을 포함합니다"); if(t.contains(s)) System.out.println("t는 s를 포함합니다"); } }
[5번]
import java.util.Scanner; class Circle{ private double x,y; private int radius; public Circle(double x,double y,int radius) { this.x=x; this.y=y; this.radius=radius; } public void show() { System.out.println("("+x+","+y+")"+radius); } } public class CircleManager { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); Circle c []= new Circle[3];// 3개의 Circle 배열 선언 for(int i=0; i< 3 ; i++) { System.out.print("x, y, radius >>"); double x=scanner.nextDouble(); double y=scanner.nextDouble(); int radius=scanner.nextInt(); c[i] = new Circle(x,y,radius); // Circle 객체 생성 } for(int i=0;i<c.length;i++) c[i].show();//모든 Circle객체 출력 scanner.close(); } }
반응형[6번]
import java.util.Scanner; class Circle{ private double x,y; private int radius; public Circle(double x,double y,int radius) { this.x=x; this.y=y; this.radius=radius; } public void show() { System.out.println("("+x+","+y+")"+radius); } public static void largestCircle(Circle c[]) { double max=Math.pow(c[0].radius, 2); int maxi=0; for(int i=1;i<c.length;i++) { if(max<Math.pow(c[i].radius, 2)) { max=Math.pow(c[i].radius, 2); maxi=i; } } System.out.print("가장 면적이 큰 원은 "); c[maxi].show(); } } public class CircleManager { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); Circle c []= new Circle[3];// 3개의 Circle 배열 선언 for(int i=0; i< 3 ; i++) { System.out.print("x, y, radius >>"); double x=scanner.nextDouble(); double y=scanner.nextDouble(); int radius=scanner.nextInt(); c[i] = new Circle(x,y,radius); // Circle 객체 생성 } Circle.largestCircle(c); scanner.close(); } }
[7번]
import java.util.Scanner; class Day{ private String work;//하루의 할 일을 나타내는 문자열 public void set(String work) { this.work = work;} public String get() { return work;} public void show() { if(work==null) System.out.println("없습니다."); else System.out.println(work+"입니다."); } } class MonthSchedule{ private Day array[]; private Scanner sc; public MonthSchedule(int n) { sc=new Scanner(System.in); array=new Day[n]; } public void input() { System.out.print("날짜(1~30)?"); int day=sc.nextInt(); System.out.print("할일(빈칸없이입력)?"); String work=sc.next(); array[day-1]=new Day(); array[day-1].set(work); } public void view() { System.out.print("날짜(1~30)?"); int day=sc.nextInt(); System.out.print(day+"일의 할 일은"); array[day-1].show(); } public void run() { System.out.println("이번달 스케쥴 관리 프로그램."); System.out.print("할일(입력:1, 보기:2, 끝내기:3) >>"); int op=sc.nextInt(); while(op!=3) { if(op==1) { input(); } else { view(); } System.out.println(); System.out.print("할일(입력:1, 보기:2, 끝내기:3) >>"); op=sc.nextInt(); } System.out.println("프로그램을 종료합니다."); } } public class p0407 { public static void main(String[] args) { MonthSchedule april=new MonthSchedule(30); april.run(); } }
[8번]
import java.util.Scanner; class Phone{ String name,tel; public Phone(String name,String tel) { this.name=name; this.tel=tel; } } class PhoneBook{ private Phone array[]; int num; Scanner sc; public PhoneBook(int n) { array=new Phone[n]; num=0; sc=new Scanner(System.in); } public void input(String name,String tel) { array[num++]=new Phone(name,tel); } public void find(String name) { for(int i=0;i<num;i++) { if(array[i].name.equals(name)) { System.out.println(name+"의 번호는 "+array[i].tel+" 입니다"); return; } } System.out.println(name+" 이 없습니다."); } public void run() { String st; System.out.print("검색할 이름>>"); st=sc.next(); while(!st.equals("그만")) { find(st); System.out.print("검색할 이름>>"); st=sc.next(); } } } public class p0408 { public static void main(String[] args) { PhoneBook pb; Scanner s=new Scanner(System.in); System.out.print("인원수>>"); int n=s.nextInt(); pb=new PhoneBook(n); for(int i=0;i<n;i++) { System.out.print("이름과 전화번호(이름과 번호는 빈 칸없이 입력)>>"); String name=s.next(); String tel=s.next(); pb.input(name, tel); } System.out.println("저장되었습니다....."); pb.run(); } }
[9번]
import java.util.Scanner; class ArrayUtil{ public static int [] concat(int[] a,int[] b) { int nArray[]=new int[a.length+b.length]; int index=0; for(int i=0;i<a.length;i++) { nArray[index++]=a[i]; } for(int i=0;i<b.length;i++) { nArray[index++]=b[i]; } return nArray; } public static void print(int[] a) { System.out.print("[ "); for(int i=0;i<a.length;i++) { System.out.print(a[i]+" "); } System.out.print("]"); return; } } public class StaticEx { public static void main(String[] args) { int[] array1= {1,5,7,9}; int[] array2= {3,6,-1,100,77}; int[] array3= ArrayUtil.concat(array1, array2); ArrayUtil.print(array3); } }
[10번]
import java.util.Scanner; class Dictionary{ private static String[] kor= {"사랑","아기","돈","미래","희망"}; private static String[] eng= {"love","baby","money","future","hope"}; public static String kor2Eng(String word) { for(int i=0;i<kor.length;i++) { if(kor[i].equals(word)) { return eng[i]; } } return null; } } public class p0410 { public static void main(String[] args) { Scanner sc=new Scanner(System.in); System.out.println("한영 단어 검색 프로그램입니다."); System.out.print("한글 단어?"); String st=sc.next(); while(!st.equals("그만")) { String result=Dictionary.kor2Eng(st); if(result!=null) { System.out.println(st+"는 "+result); } else { System.out.println(st+"는 저의 사전에 없습니다."); } System.out.print("한글 단어?"); st=sc.next(); } } }
[11번]
class Add{ int a,b; public void setValue(int a,int b) { this.a=a; this.b=b; } public void calculate() { System.out.println(a+b); } } class Sub{ int a,b; public void setValue(int a,int b) { this.a=a; this.b=b; } public void calculate() { System.out.println(a-b); } } class Mul{ int a,b; public void setValue(int a,int b) { this.a=a; this.b=b; } public void calculate() { System.out.println(a*b); } } class Div{ int a,b; public void setValue(int a,int b) { this.a=a; this.b=b; } public void calculate() { if(b==0) { System.out.println("0으로 나눌 수 없어요"); } else { System.out.println(a/b); } } } public class p0411{ public static void main(String[] args) { Scanner sc=new Scanner(System.in); System.out.print("두 정수와 연산자를 입력하시오>>"); int a=sc.nextInt(); int b=sc.nextInt(); String op=sc.next(); switch(op.charAt(0)) { case '+': Add add=new Add(); add.setValue(a, b); add.calculate(); break; case '-': Sub sub=new Sub(); sub.setValue(a, b); sub.calculate(); break; case '*': Mul mul=new Mul(); mul.setValue(a, b); mul.calculate(); break; case '/': Div div=new Div(); div.setValue(a, b); div.calculate(); break; } } }
상속을 이용한 경우>>
import java.util.Scanner; class superClass{ public int a,b; public void setValue(int a,int b) { this.a=a; this.b=b; } public void calculate() {} } class Add extends superClass{ @Override public void calculate() { System.out.println(a+b); } } class Sub extends superClass{ @Override public void calculate() { System.out.println(a-b); } } class Mul extends superClass{ @Override public void calculate() { System.out.println(a*b); } } class Div extends superClass{ @Override public void calculate() { if(b==0) { System.out.println("0으로 나눌 수 없어요"); } else { System.out.println(a/b); } } } public class p0411 { public static void main(String[] args) { Scanner sc=new Scanner(System.in); System.out.print("두 정수와 연산자를 입력하시오>>"); int a=sc.nextInt(); int b=sc.nextInt(); String op=sc.next(); superClass sp; switch(op.charAt(0)) { case '+': sp=new Add(); break; case '-': sp=new Sub(); break; case '*': sp=new Mul(); break; case '/': sp=new Div(); break; default: return ; } sp.setValue(a, b); sp.calculate(); } }
[12번]
import java.util.Scanner; class Seat{ String seats[]; public Seat() { seats=new String[10]; for(int i=0;i<seats.length;i++) { seats[i]="---"; } } public void show() { for(int i=0;i<seats.length;i++) { System.out.print(seats[i]+" "); } System.out.println(); } public void set(String name,int num) { if(num>10) { System.out.println("10 미만의 수를 입력해주셔야합니다."); } else { seats[num-1]=name; } return; } public boolean check(String name) { for(int i=0;i<seats.length;i++) { if(seats[i].equals(name)) { seats[i]="---"; return true; } } return false; } } class manage{ Scanner sc; Seat arr[]; String Grade[]= {"S","A","B"}; public manage() { sc=new Scanner(System.in); arr=new Seat[3]; for(int i=0;i<3;i++) { arr[i]=new Seat(); } } public void reserve() { System.out.print("좌석구분 S(1), A(2), B(3)>>"); int g=sc.nextInt(); System.out.print(Grade[g-1]+">>"); arr[g-1].show(); System.out.print("이름>>"); String name=sc.next(); System.out.print("번호>>"); int num=sc.nextInt(); arr[g-1].set(name, num); } public void view() { for(int i=0;i<3;i++) { System.out.print(Grade[i]+">>"); arr[i].show(); } System.out.println("<<<조회를 완료하였습니다.>>>"); } public void delete() { System.out.print("좌석구분 S(1), A(2), B(3)>>"); int g=sc.nextInt(); System.out.print(Grade[g-1]+">>"); arr[g-1].show(); System.out.print("이름>>"); String name=sc.next(); if(arr[g-1].check(name)) { System.out.println("<<<취소를 완료하였습니다>>>"); } else { System.out.println("<<<존재하지 않는 이름입니다>>>"); } } public void run() { int op; System.out.println("명품콘서트홀 예약 시스템입니다."); while(true) { System.out.print("예약:1, 조회:2, 취소:3, 끝내기:4>>"); op=sc.nextInt(); switch(op) { case 1: reserve(); break; case 2: view(); break; case 3: delete(); break; case 4: return; default: System.out.println("숫자를 잘못입력했습니다."); break; } } } } public class p0412 { public static void main(String[] args) { manage ms=new manage(); ms.run(); } }
반응형'문제풀이 > 명품 자바 프로그래밍(개정4판)' 카테고리의 다른 글
명품 자바 프로그래밍(개정4판) 제 7장 실습문제 (0) 2020.12.07 명품 자바 프로그래밍(개정4판) 제 6장 실습문제 (0) 2020.11.22 명품 자바 프로그래밍(개정4판) 제 5장 실습문제 (0) 2020.11.22 명품 자바 프로그래밍(개정4판) 제 3장 실습문제 (0) 2020.10.08 명품 자바 프로그래밍(개정4판) 제 2장 실습문제 (0) 2020.10.08 댓글