zenibako.lee
3 min readDec 19, 2018

12/19 자바 — package, import , static

패키지 = 디렉토리.

import = 사용할 클래스의 경로를 지정

클래스 구성요소 中 필드,메소드.
static이 붙은 변수 : 클래스 변수.

안붙은 변수 : 인스턴스 변수.

>일반 클래스의 static클래스 변수는 딱 한 번생성자 호출 전에도 메모리에 적재됨.

자바 Object 클래스는 생성자 없이 사용 가능.

ex)System.out.println() , Random.nextInt();

생성된 인스턴스는 참조변수를 통해 호출됨 ( 인스턴스명)

package study;

import java.util.Scanner;

public class BirthMean {

public static void main(String[] args) {

Scanner scanner = new Scanner(System.in);

System.out.println(“생일 4자리(ex:0129) 입력하고 enter!”);

int birth = scanner.nextInt();

int month = birth / 100;

int day = birth % 100;

/*System.out.println(“당신의 입력 값 “ + birth + “맞나요?(맞으면y/틀리면n)”);

Scanner scanner2 = new Scanner(System.in);

String check = scanner2.nextLine();

if (check == “y”) {*/

switch (month) {

case 1:

System.out.printf(month + “월 드래곤의”);

break;

case 2:

System.out.printf(month + “월 바람의”);

break;

case 3:

System.out.printf(month + “월 어둠의”);

break;

case 4:

System.out.printf(month + “월 불꽃의”);

break;

case 5:

System.out.printf(month + “월 정열의”);

break;

case 6:

System.out.printf(month + “월 낭만적인”);

break;

case 7:

System.out.printf(month + “월 냉소적인”);

break;

case 8:

System.out.printf(month + “월 비관적인”);

break;

case 9:

System.out.printf(month + “월 사랑스러운”);

break;

case 10:

System.out.printf(month + “월 내츄럴본”);

break;

case 11:

System.out.printf(month + “월 어색한”);

break;

case 12:

System.out.printf(month + “월 기분나쁜”);

break;

}

if (day < 10) {

System.out.println(day + “일의 바보”);

} else if (day < 20) {

System.out.println(day + “일의 천사”);

} else {

System.out.println(day + “일의 악마”);

}

}/*else {

System.out.println(“다시 해주세요”);

}*/

}

발생한 문제점들

  1. 930129로 받았을 시 , 01과 29를 Integer메소드로 분리해 낼 방법이 없음.
  2. 930129받았을 시, String으로 입력 받았을 때, .substring()으로 분리하려고 했는데, 01의 경우 분리 할 시 0이 문제가 생겨서 안뽑힘.
  3. y/n 조건문에서 y입력해도 else경우로 break됨.
  4. n입력 했을 시, 처음으로 돌아가는 기능 구현 못했음.
zenibako.lee
zenibako.lee

Written by zenibako.lee

backend engineer, JS, Node, AWS

No responses yet