본문 바로가기
알고리즘/코드트리

코드트리 | 객체 / 코드네임 [자바 java]

by 발빠진 쥐 2024. 8. 5.

-객체 생성 후 값 변경하는 법-

 

객체이름.매개변수이름=바꿀 값 형태로 값을 변경해주면 됨

 

(예시코드)

class Student {
    int kor, eng, math;

    public Student(){
        this.kor = 0;
        this.eng = 0;
        this.math = 0;
    }

    public Student(int kor, int eng, int math){
        this.kor = kor;
        this.eng = eng;
        this.math = math;
    }
};

public class Main {
    public static void main(String[] args) {
        Student student2 = new Student();  // 값이 넘어가지 않는 생성자를 이용
        System.out.println(student2.kor);  // 0
        System.out.println(student2.eng);  // 0
        System.out.println(student2.math); // 0

        student2.kor = 90;
        student2.eng = 80;
        student2.math = 90;

        System.out.println(student2.kor);  // 90
        System.out.println(student2.eng);  // 80
        System.out.println(student2.math); // 90
    }
}

 

 

-java 변수 정리-

 

1. 데이터 타입에 따른 분류

   1)기본변수 : 메모리에 값이 직접 저장 (int, char 기타등등)

   2)참조변수 : 변수에 주소값 저장

 

 

 

출처

https://velog.io/@effirin/Java-%ED%97%B7%EA%B0%88%EB%A6%AC%EB%8A%94-%EB%B3%80%EC%88%98-%EC%A2%85%EB%A5%98-%EC%A0%95%EB%A6%AC

 

[Java] 헷갈리는 변수 종류 정리

프로그래밍 언어에서 미리 만들어 둔 타입(가장 많이 쓰이는 데이터 타입을 쉽게 사용하기 위함)변수에 할당된 메모리에 직접 값이 저장된다.비교적 단순 데이터예) int, double, boolean, char 등여러

velog.io

 

 

 

5명의 코드네임과 점수를 입력받아 점수가 제일 낮은 요원의 정보를 출력하는 프로그램을 작성해보세요. 단, c언어의 경우 구조체를, 다른 언어의 경우 class를 이용하여 각 사람의 정보를 담은 객체를 5개 만들어 문제를 해결해주세요.

입력 형식

첫 번째 줄부터 각 줄마다 알파벳 대문자로 되어있는 코드네임과 점수가 공백을 사이에 두고 주어집니다. 단, 같은 코드네임과 점수가 주어지지 않는다고 가정해도 좋습니다.

  • 1 ≤ 점수 ≤ 100

출력 형식

첫 번째 줄에 점수가 제일 낮은 요원의 코드네임과 점수를 공백을 사이에 두고 출력합니다.

입출력 예제

예제1

입력:

A 50
B 80
C 79
Z 90
F 100
 

출력:

A 50

 

import java.util.Scanner;

// User 정보를 나타내는 클래스 선언
class User {
    char codeName;
    int score;

    public User(){
        this.codeName = ' ';
        this.score = 0;
    }

    public User(char codeName, int score){
        this.codeName = codeName;
        this.score = score;
    }
};

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        // 변수 선언 및 입력

        char cName = ' ';
        int score2 = 0;


        int n = 5;
        User[] users = new User[n];
        for(int i = 0; i < n; i++) {

            

            cName = sc.next().charAt(0);
            score2 = sc.nextInt();
            
            // 객체 생성 및 리스트에 추가
            users[i] = new User(cName, score2); 
        }
        
        // 최소 점수를 갖는 요원 찾기
        //여기서 score 대신 score2 를 쓰면 오류가 남(User 클래스에 sore2가 없으니까..)
        int minIdx = 0;
        for(int i = 1; i < n; i++) {
            if(users[minIdx].score > users[i].score)
                minIdx = i;
        }

        // 결과를 출력합니다.
        System.out.println(users[minIdx].codeName + " " + users[minIdx].score);
    }
}