관리 메뉴

프로그래밍 삽질 중

Class(클래스)문 설명 및 문제 본문

과거 프로그래밍 자료들/자바(Java)

Class(클래스)문 설명 및 문제

평부 2021. 2. 28. 23:47

※ Class(클래스)문 사용시 주의할 점

- 클래스 사용 시 선언이라는 것 필요(소스 파일을 만드는 것)

- 보통 소스 파일마다 하나의 클래스를 선언하나, 2개 이상의 클래스를 하나의 파일로 선언 가능

(문제들은 2개 이상의 클래스를 하나의 파일로 선언한 것으로 풀이)

- 하나의 파일에 클래스가 2개 이상일 경우 하나만 public으로 선언할 수 있고 해당 클래스 이름은 

소스 파일 이름과 동일해야 함

- 객체 생성 시 new 키워드를 이용해 생성함 

 

예1) 클래스 참조변수;

참조변수 = new 클래스();

 

예2) 클래스 참조변수 = new 클래스();

 

 

 

[문제1]

main()메소드 작성

Mains 객체를 하나 생성하고 이 객체에 대한 레퍼런스 변수 명은 IT
IT의 상품이름(name 필드) : "이것이 자바다"
값(price) : 30000
재고 개수(numberOfStock) : 50
팔린 개수(sold) : 90
설정된 이들 값을 화면에 출력

 

 

 

 

[문제1 답]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
class Books {
    String name;
    int price;
    int numberOfStock;
    int sold;
}
 
 
public class BooksEx {
 
    public static void main(String[] args) {
        // main()메소드 작성
        // Mains 객체를 하나 생성하고 이 객체에 대한 레퍼런스 변수 명은 IT
        // IT의 상품이름(name 필드) : "이것이 자바다"
        // 값(price) : 30000
        // 재고 개수(numberOfStock) : 50
        // 팔린 개수(sold) : 90
        // 설정된 이들 값을 화면에 출력
        
        
        Books IT = new Books();
        IT.name = "이것이 자바다";
        IT.price = 30000;
        IT.numberOfStock = 50;
        IT.sold = 90;
        
        System.out.println("상품 이름 : " + IT.name);
        System.out.println("상품 값 : " + IT.price);
        System.out.println("상품 재고 개수 : " + IT.numberOfStock);
        System.out.println("상품 팔린 개수 : " + IT.sold);
    }
 
}
cs

 

 

 

[문제2]

int sellbase -> 밑
int sellexp -> 지수
int sellgetValue() -> 거듭제곱을 계산한 다음 반환

결과값
팔린 개수(4의 4승) = 256
팔린 개수(2의 10승) = 1024

 

 

 

[문제2 답]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
class SellExp {
    int sellbase;
    int sellexp;
    int sellgetValue() {
        int result = 1;
        for(int i=1; i<=sellexp; i++) { //반드시 i<=sellexp로 표시하기, =없으면 오류 발생
            result = result * sellbase;
        }
    return result;    
    }    
}
 
public class SellExpEx {
 
    public static void main(String[] args) {
        // int sellbase -> 밑
        // int sellexp -> 지수
        // int sellgetValue() -> 거듭제곱을 계산한 다음 반환
        
        //결과값
        // 팔린 개수(4의 4승) = 256
        // 팔린 개수(2의 10승) = 1024
        
        SellExp ex1 = new SellExp();
        ex1.sellbase = 4;
        ex1.sellexp = 4;
        System.out.printf("팔린 개수(%d의 %d승) = %d\n", ex1.sellbase, ex1.sellexp, ex1.sellgetValue());
        
        SellExp ex2 = new SellExp();
        ex2.sellbase = 2;
        ex2.sellexp = 10;
        System.out.printf("팔린 개수(%d의 %d승) = %d", ex2.sellbase, ex2.sellexp, ex2.sellgetValue());
        
    }
 
}
cs

 

 

 

[문제3]

입력값
나이키 20000 20 40
아디다스 30000 10 30
휠라 10000 30 50

 

결과값 : 상품명 가격 재고량 판매량 -> 각각 name, price, stock, sale
나이키 20000 20 40
아디다스 30000 10 30
휠라 10000 30 50

 

 

 

 

[문제3 답] - 수정완료(55~59 일부)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
import java.util.Scanner;
 
class SportGoods {
    String name;
    int price;
    int stock;
    int sale;
    
    SportGoods(String name, int price, int stock, int sale) {
        this.name = name;
        this.price = price;
        this.stock = stock;
        this.sale = sale;
    }
    
    String getSportName() {
        return name;
    }
    int getSportPrice() {
        return price;
    }
    int getSportStock() {
        return stock;
    }
    int getSportSale() {
        return sale;
    }
}
 
public class SportGoodsEx {
 
    public static void main(String[] args) {
        // 입력값
        // 나이키 20000 20 40
        // 아디다스 30000 10 30
        // 휠라 10000 30 50
        
        //결과값 : 상품명 가격 재고량 판매량 -> 각각 name, price, stock, sale
        // 나이키 20000 20 40
        // 아디다스 30000 10 30
        // 휠라 10000 30 50
        
        SportGoods[] shoesArray;
        shoesArray = new SportGoods [3];
        Scanner scan = new Scanner(System.in);
        
        for(int i=0; i<shoesArray.length; i++) {
            String name = scan.next();
            int price = scan.nextInt();
            int stock = scan.nextInt();
            int sale = scan.nextInt(); 
        shoesArray[i] = new SportGoods(name, price, stock, sale);
        }
        
        for(int i=0; i<shoesArray.length; i++) {
           System.out.printf("%s\t%d\t%d\t%d\n",
                  shoesArray[i].name, shoesArray[i].price,
                  shoesArray[i].stock, shoesArray[i].sale);
        }
        
    }
 
}
cs