본문 바로가기

Java (국비)/Java 문제18

예외처리 문제 요구 조건 : 정상적인 입력을 3번 할 때 까지 계속 반복. 이클립스 에서 구현 1. 예외가 발생할것 같은 여지가 있는 것을 try 문에 넣고 정수를 제대로 입력받으면 cnt++; 2. 그렇지 않으면, 출력문을 출력하고, 3. cnt가 3보다 작을때 까지 while문을 반복 한다. 4. 종료조건은 cnt 가 3이되면 while문을 탈출 한다. 주의할점 : 버퍼에 남아있는 값을 제거하지 않으면, 다음과 같이 문제가 발생 한다. 2023. 5. 20.
배열리스트 문제 2 이클립스에서 구현 1. 문제에서 정수를 3개까지 받겠다고 했으니, 절대 변하지 않는 상수로 처리해서 final int CNT = 3; size() : 컬렉션프레임워크 타입들의 길이에 대해 알고 싶을때 사용. 2. 정수 말고 그외의 것들도 입력 받을 수 있어서, 입력을 총 몇번 받을지 모르니까 while. 3. 정수를 입력받으면 문제되는게 없으니, data.add(num) 이 되고, 4. 그렇지 않으면, catch 문으로 들어가서 출력문이 나오고, continue; 된다. 주의할점 : data.size() 2023. 5. 20.
배열리스트 문제 1. 중복을 제외한다는 조건이 없기 때문에 ArrayList 클래스를 사용해서 배열리스트를 만들기 2.스캐너를 사용해서 0을 입력받으면 종료되는 프로그램 3.정수만 들어가기 때문에 을 사용 해서 강제성을 부여하기. 4. 입력을 몇번할지 모르니까 while(true), 종료 조건은 0번 입력받았을 때 5. data.add(입력받은값) 해서 배열리스트에 값을 저장 6. 만약 프로그램이 종료되면 ? 종료되기전까지 입력한 정수들의 평균을 출력 평균 : 입력한 정수들의 총합 / 입력한 정수의 개수 그리고, 내가 입력한 정수 중에서 짝수가 몇개인지를 출력 만약 내가 입력한 정수를 2로 나눴을때 나머지가 0이야? ok 그러면 그 ok된 짝수들의 개수를 출력 짝수는 __개 입니다. 그리고, 그 짝수가 뭔지를 출력. [.. 2023. 5. 20.
상속 문제 짚고 넘어갈 점 : 1. PI가 3.14 인건 불변의 법칙이므로, final을 사용하여 상수를 알림. 2. 또한, 객체와 무관한 불변의 법칙이므로, static을 사용하기 3. 이럴 경우, 특정 객체 내부에서만 사용되는 인스턴스변수가 아닌, 한 클래스 내에서 모두 공유하고있는 클래스변수임을 알리기 위해 this.PI 가 아니라 클래스명.PI 라고 표기해 주기. (Circle.PI) 4. 부모 클래스를 먼저 코딩하고, 끝난 후에 자식 클래스를 코딩 하기. 5. 멤버변수 모두 초기화가 됬는지 확인. 멤버변수 = 클래스 변수 + 인스턴스 변수 2023. 5. 15.
자판기 프로그램 제작 2 짚고 넘어갈 부분 main()에서 객체의 멤버 변수에 직접적으로 접근을 하지 않는다 ! System.out.println((i + 1) + ". " + data[i].name + " [" + data[i].cnt + "] " + data[i].price + "원"); 메인에서 중요한 데이터들을 직접 쓰게 되면 안전, 보안성에 위배된다. 그래서 printInfo 메서드를 만들어 줘야 한다. 2023. 5. 12.
자판기 프로그램 제작 1 제작전에, 생각 해야 할 부분 프로그래밍 이란 ? -> 유효성 검사 (프로그래밍의 기초) -> 꼼꼼하게 "프로그램 이란" : 특정 데이터에 대해 CRUD 기능을 제공 하는 것을 말한다. CRUD 란 ? 대부분의 컴퓨터 소프트웨어가 가지는 기본적인 데이터 처리 기능인 Create(생성), Read(읽기), Update(갱신), Delete(삭제)를 묶어서 일컫는 말이다. 예시 C : 데이터 생성 네이버 => 회원가입 인스타=> 사진(동영상) 업로드 R : 데이터 읽어오기 (출력) 네이버 => 로그인 인스타=> 피드보기, 피드목록보기, 친구 스토리 보기 U : 데이터 변경 네이버 => 마이페이지 인스타=> 글 변경 D : 데이터 삭제 네이버 => 회원탈퇴 인스타=> 글 삭제 이 개념을 바탕으로, 어떤 데이터.. 2023. 5. 12.
배열 문제 3 /* [문제] 1. 주석 2. 한글풀이 1) 이 배열의 이름은 data 이고 2) 3 ~ 5개까지중에서 랜덤으로 크기를 결정 ex) 3 --- >> [ _ _ _ ] 3) data에 저장되는 정수는 100 ~ 105 사이의 랜덤수가 저장됨 ex) [ 102 100 100 ] 4) A - 데이터가 홀수들의 총합 5) B - 데이터가 짝수들의 평균 console) [ 102 100 100 ] 홀수총합 : 0 짝수평균 : 100.666667 */ 이클립스 에서 구현 하기 코드 풀이 1. data 배열의 값을 2로 나눴을 때 나머지가 0으로 떨어지면, 짝수이므로, 짝수만 골라서 합을 구한다. 2. 짝수평균을 구해야 해서, 짝수의 갯수를 알아야 한다. 조건문에서 짝수를 찾을때마다 짝수 갯수를 카운트 해줄 아이가 .. 2023. 5. 7.
배열 문제 2 /* 문제 int[] stu = new int[6]; 랜덤으로 점수를 생성해보자 ! 랜덤수가 잘 저장되었는지 출력 평균 점수 평균을 넘긴 학생의 수 6등의 번호 짝수번째 학생들의 총점 평균을 못넘긴 학생들의 번호 */ 학생들의 점수는 >> 39 27 34 3 67 98 평균 점수 : 44.666666666666664 평균을 못넘긴 학생들의 번호 >> 1번 2번 3번 4번 평균을 넘긴 학생의 수 >> 2 6등의 번호는 >> 4 짝수번째 학생들의 총점 >> 140 짚고 넘어가야할 부분 1. continue문 활용 2023. 5. 6.
배열 문제 1 // 상황) // 학생이 5명 // 우리반 학생의 총 점수 합 // 평균 점수는 ? // 1등은 몇번인지 ? int[] stu = new int[5]; stu[0] = 20; stu[1] = 12; stu[2] = 63; stu[3] = 87; stu[4] = 54; // 라고 가정한다. int sum = 0; for(int i = 0; i > " + sum); System.out.println(); double avg = sum * 1.0 / stu.length; System.out.print("평균 점수는 >> " + avg); System.out.println(); in.. 2023. 5. 6.