분류 전체보기 261

매개변수 생성자를 이용해 학생 성적 출력하기

단, 총점과 평균은 직접 설정하지 않는다. 그리고 점수를 한 개만 설정하면 국어점수로 간주하며, 점수를 두 개 설정하면 각각 국어 점수와 영어 점수로 간주한다. public class Grade { // 필드 private String name; // 학생 이름 private int kor; // 국어 점수 private int eng; // 영어 점수 private int math; // 수학 점수 private int total; // 총점 private double avg; // 평균 // 생성자 public Grade() {} // 기본 생성자 // 매개변수로 초기화 // 합계와 평균을 직접 설정하지 말라는 것은 매개변수에 넣지 말라는 뜻이다. public Grade(String name, int..

setter, getter 메소드로 여러 종목의 운동선수들의 메달 개수 출력하기

접근제한자 private을 사용할 때에는 해당 클래스엔 특정 값이 입력되면 안된다. 왜냐하면 private을 썼다는 것은 보안이 필요한 경우이기 때문이다. 그래서 진짜 값이 들어있는 클래스는 다른 곳에 두어야 한다.(아무도 모르고 나만 아는..) 그런데 그렇게 되면 직접 접근할 방법이 없으므로 간접 접근할 방법을 찾아야 한다. 이럴 때 쓰는 것이 setter 메소드와 getter 메소드이다. public class Athlete { // 접근제한자 private // public과 달리 볼 수 있는 사람의 제한 범위가 크다. // 보안이 필요한 경우에 private을 쓴다. private String name; private String event; private int gold; private int ..

객체(Object)(1) - 객체 지향 언어, 클래스, 추상화, 캡슐화, 필드, 생성자, 메소드

1. 정의 (1) 객체(Object) : 현존하는 모든 것들(유형, 무형, 사물, 개념 등) 자신의 속성과 기능이 다른 것들과 구분되어 식별이 가능한 것들 Java에서는 new 연산자를 통해 메모리 영역에 생성된 것을 말한다. (2) 객체 지향 언어 : '객체'를 지향하는 언어, '객체 중심'으로 운영된다. (3) 객체 지향 프로그래밍 : 현존하는 모든 것들 간의 상호작용을 코드로 구현하는 과정 2. 클래스(class) (1) 정의 : 구현하고자 하는 프로그램 상의 객체를 만들기 위해 객체들의 속성(특성)에 대해 정의한 것 (2) 등장 배경 ① "변수"로만 프로그래밍을 하면? ▷ 변수는 하나의 자료형에 하나의 값만 저장할 수 있다. ▷ '홍길동'과 '마이콜'이라는 객체를 만들어 보자. 그럼 이름과 나이,..

2차원 배열로 값들의 합계와 평균 출력하기

public void DimentionArray() { int[][] arr = {{1, 2, 3, 4, 5}, {3, 4, 5, 6, 7}, {5, 5, 5, 5, 5}, {7, 7, 7, 7, 7}}; int sum = 0; int avg = 0; int count = 0; for(int i = 0; i < arr.length; i++) { for(int j = 0; j < arr[i].length; j++) { //합계 sum += arr[i][j]; count++; } } System.out.println("합계: " + sum); System.out.println("평균: " + (double) sum / count); } ▼실행결과 합계: 100 평균: 5 2차원 배열은 행과 열로 구성되어 있..

2차원 배열

1. 특징 - 자료형이 같은 1차원 배열의 묶음이다. - 배열 안에 다른 배열이 존재한다. - 할당된 공간마다 인덱스 번호 2개가 부여된다. - 앞의 번호는 행, 뒤의 번호는 열이며, '[1][2]'(1열에 2행) 이처럼 표현한다. 2. 선언과 할당 및 초기화 (1) 선언 자료형[][] 배열명; // 대부분 이 형태를 쓴다. 자료형[] 배열명[]; 자료형 배열명[][]; (2) 할당 자료형[][] 배열명 = new 자료형[행 크기][열 크기]; 자료형[] 배열명[] = new 자료형[행 크기][열 크기]; 자료형 배열명[][] = new 자료형[행 크기][열 크기]; int[][] arr = new int[1][2]; int arr[][] = new int[1][2]; (3) 초기화 ① 인덱스를 이용한 ..

주민등록번호 뒷자리 첫 번째 숫자 이후로는 '*' 표시하고 출력하기

단, 원본 배열은 '*' 표시 없이 복사 배열로 변경하여 출력한다. public void personID() { // Scanner로 입력 받기 Scanner sc = new Scanner(System.in); System.out.println("하이픈(-)을 포함하여 주민등록번호를 입력하세요."); String num = sc.nextLine(); // 하이픈(-) 포함 숫자 입력이므로 문자열 타입 char arr = new char[14] // 주민등록번호는 하이픈 포함 14자리 for(int i = 0; i < arr.length; i++) { // .charAt() : String으로 저장된 문자열 중 한 글자만 선택해서 char 타입으로 변환 arr[i] = num.charAt(i); } cha..

문자열을 입력 받아 배열에 각 철자를 저장하고, 철자의 개수를 출력하기

public void text() { // Scanner로 입력값 받기 Scanner sc = new Scanner(System.in); System.out.println("문자열을 입력하시오."); String word = sc.nextLine(); // String 타입이므로 .nextLine()을 사용 // 각 철자를 하나씩 저장해야 하므로 char 배열을 사용 // 입력값에 따라 문자열의 길이가 달라지므로 .length를 사용 char[] arr = new char[word.length()]; for(int i = 0; i < word.length; i++) { // 문자 "배열"의 i번째 = 문자열의 i번째에 있는 값 arr[i] = word.charAt(i); // 마지막 문자가 출력될 때 '..

사용자의 입력값이 배열에 있거나 없을 때 값을 출력하기

어플로 어느 가게의 음식을 주문하려는데 이런 음식도 있는지 궁금해서 검색해봐야겠다. "메뉴를 검색하세요." 이때, 입력한 메뉴가 배열에 있으면 "OOO을(를) 주문하시겠습니까?", 없으면 "OOO은(는)없는 메뉴입니다."를 출력한다. public void restaurant() { // 식당에 있는 메뉴를 배열로 초기화 String[] menu = {"떡볶이", "돈가스", "볶음밥", "라면", "떡국"}; Scanner sc = new Scanner(System.in); // 입력값을 받기 위해 Scanner 사용 System.out.println("메뉴를 입력하세요."); String question = sc.nextLine(); // String 타입이므로 nextLine()으로. // 반복문을 ..