본문 바로가기
Web & Mobile/JAVA

Lecture 26 - Java(7) 주민번호체크, wrapper 클래스, Date, Calendar

by Bennyziio 2023. 6. 20.
반응형

StringEx02 문자열의 첫문자를 대문자화

// 문자열의 첫문자를 대문자화
// hong gil dong -> "hong gil dong"
public class StringEx02 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		// 입력값 검사
		if(args.length != 1) {
			System.out.println("1개의 값을 입력하셔야 합니다.");
		} else {
			//System.out.println("정상 입력");
			String[] names = args[0].split(" ");
			
			String result = "";
			for(String name : names) {
				//System.out.println(name);
				result += name.substring(0, 1).toUpperCase()
						+ name.substring(1) + " ";
			}
			
			System.out.println(result);
		}
	}
}

생성자를 써서 만들어보면

클래스를 UtilEx라고 만든다

private String name;을 해준다

UtilEx라는 세터를 위와 같이 생성한다

기존에 만들어 놨던 소스를 UtilEx메소드 안에 복사한다

복사해준 소스내 args[0]를 this.name으로 오버로딩해준다 그뒤 return result.trim();을 넣어준다

기존 소스는 주석 처리하고 생성자를 연동시키기 위한 구문을 넣은뒤 실행한다.

// 문자열의 첫문자를 대문자화
// hong gil dong -> "hong gil dong"
public class StringEx02 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		// 입력값 검사
		if(args.length != 1) {
			System.out.println("1개의 값을 입력하셔야 합니다.");
		} else {
			//System.out.println("정상 입력");
			/*
			String[] names = args[0].split(" ");
			
			String result = "";
			for(String name : names) {
				//System.out.println(name);
				result += name.substring(0, 1).toUpperCase()
						+ name.substring(1) + " ";
			}
			
			System.out.println(result);
			*/
			
			UtilEx utilEx = new UtilEx(args[0]);
			System.out.println(utilEx.capitalizeName());
			
		}
	}
}
public class UtilEx {
	private String name;

	public UtilEx(String name) {
		this.name = name;
	}
	
	public String capitalizeName() {
		String[] names = this.name.split(" ");
		
		String result = "";
		for(String name : names) {
			//System.out.println(name);
			result += name.substring(0, 1).toUpperCase()
					+ name.substring(1) + " ";
		}
		
		return result.trim();
	}
}

JuminCheckEx01
JuminCheck라고 만든 후 이름을 변경하고 싶을때 refactor를 사용한다

public class JuminCheckEx01 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		if(args.length != 1) {
			System.out.println("java 클래스명 'xxxxxx-xxxxxxx' 형식으로 입력하세요");		
		} else {
			String strJumin = args[0].replaceAll("-", "");
			System.out.println(strJumin);
			
			// 문자열을 정수 = Integer.parseInt()
			
			int[] bits = {2, 3, 4, 5, 6, 7, 8, 9, 2, 3, 4, 5};
			int sum = 0;
			for(int i = 0; i<bits.length; i++) {
				sum += Integer.parseInt(strJumin.substring(i,  i+1)) * bits[i];
			}
			
			int last = Integer.parseInt(strJumin.substring(12, 13));
			int result = (11-(sum % 11)) % 10;
			
			if(last == result) {
				System.out.println("맞음");
			} else {
				System.out.println("틀림");
			}
		}	
	}

}

 

생성자를 통해 만들어 보자

위와 같이 수정

기존 소스는 주석처리하고 생성자 연동시키고 if문 안에 utilEx.checkJumin()으로 수정

개선 사항

public class JuminCheckEx01 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		if(args.length != 1) {
			System.out.println("java 클래스명 'xxxxxx-xxxxxxx' 형식으로 입력하세요");		
		} else {
			/*
			String strJumin = args[0].replaceAll("-", "");
			System.out.println(strJumin);
			
			// 문자열을 정수 = Integer.parseInt()
			
			int[] bits = {2, 3, 4, 5, 6, 7, 8, 9, 2, 3, 4, 5};
			int sum = 0;
			for(int i = 0; i<bits.length; i++) {
				sum += Integer.parseInt(strJumin.substring(i,  i+1)) * bits[i];
			}
			
			int last = Integer.parseInt(strJumin.substring(12, 13));
			int result = (11-(sum % 11)) % 10;
			*/
			UtilEx utilEx = new UtilEx();
			//utilEx.setName(args[0]);
			utilEx.setJumin(args[0]);
			
			if(utilEx.checkJumin()) {
				System.out.println("맞음");
			} else {
				System.out.println("틀림");
			}
			
		}	
	}

}
public class UtilEx {
	private String name;
	private String jumin;

	
	public UtilEx() {
	}
	
	
	public void setName(String name) {
		this.name = name;
	}
	
	public void setJumin(String jumin) {
		this.jumin = jumin;
	}
	
	public boolean checkJumin() {
		String strJumin = this.jumin.replaceAll("-", "");
		System.out.println(strJumin);
		
		// 문자열을 정수 = Integer.parseInt()
		
		int[] bits = {2, 3, 4, 5, 6, 7, 8, 9, 2, 3, 4, 5};
		int sum = 0;
		for(int i = 0; i<bits.length; i++) {
			sum += Integer.parseInt(strJumin.substring(i,  i+1)) * bits[i];
		}
		
		int last = Integer.parseInt(strJumin.substring(12, 13));
		int result = (11-(sum % 11)) % 10;
		
		if(last == result) {
			return true;
		} else {
			return false;
		}
	}
	
	public String capitalizeName() {
		String[] names = this.name.split(" ");
		
		String result = "";
		for(String name : names) {
			//System.out.println(name);
			result += name.substring(0, 1).toUpperCase()
					+ name.substring(1) + " ";
		}
		
		return result.trim();
	}
}
// 문자열의 첫문자를 대문자화
// hong gil dong -> "hong gil dong"
public class StringEx02 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		// 입력값 검사
		if(args.length != 1) {
			System.out.println("1개의 값을 입력하셔야 합니다.");
		} else {
			//System.out.println("정상 입력");
			/*
			String[] names = args[0].split(" ");
			
			String result = "";
			for(String name : names) {
				//System.out.println(name);
				result += name.substring(0, 1).toUpperCase()
						+ name.substring(1) + " ";
			}
			
			System.out.println(result);
			*/
			
			UtilEx utilEx = new UtilEx();
			utilEx.setName(args[0]);
			System.out.println(utilEx.capitalizeName());
			
		}
	}
}

StringBuffer클래스와 StringBuilder클래스

public class StringBufferEx01 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		String str1 = new String("Hello World");
		String str2 = str1.replaceAll("World", "세상");
		
		System.out.println(str1);
		System.out.println(str2);
	}

}

변경 불가능한(immutable) 클래스 str1을 str2가 변경하려 했지만 str1의 값은 변경되지 않는다

StringBuffer(since 1.0)를 가지고 StringBuilder(since 1.5)를 만들었다. (메소드 보면 동일하다)

public class StringBufferEx01 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		String str1 = new String("Hello World");
		String str2 = str1.replaceAll("World", "세상");
		
		//System.out.println(str1);
		//System.out.println(str2);
		
		StringBuffer sb1 = new StringBuffer();
		StringBuffer sb2 = new StringBuffer(30);
		// "Hellow World"는 11자 + 기본 16자가 합쳐져서 27이다.
		StringBuffer sb3 = new StringBuffer("Hello World");
		
		System.out.println(sb1.capacity());
		System.out.println(sb2.capacity());
		System.out.println(sb3.capacity());
	}
}

public class StringBufferEx01 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		String str1 = new String("Hello World");
		String str2 = str1.replaceAll("World", "세상");
		
		//System.out.println(str1);
		//System.out.println(str2);
		
		StringBuffer sb1 = new StringBuffer();
		StringBuffer sb2 = new StringBuffer(30);
		// "Hello World"는 11자 + 기본 16자가 합쳐져서 27이다.
		StringBuffer sb3 = new StringBuffer("Hello World");
		
		System.out.println(sb1.capacity());
		System.out.println(sb2.capacity());
		System.out.println(sb3.capacity());
		
		System.out.println(sb3.length());
		System.out.println(sb1.length());
	}

}

public class StringBufferEx01 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		String str1 = new String("Hello World");
		String str2 = str1.replaceAll("World", "세상");
		
		//System.out.println(str1);
		//System.out.println(str2);
		
		StringBuffer sb1 = new StringBuffer();
		StringBuffer sb2 = new StringBuffer(30);
		// "Hellow World"는 11자 + 기본 16자가 합쳐져서 27이다.
		StringBuffer sb3 = new StringBuffer("Hello World");
		/*
		System.out.println(sb1.capacity());
		System.out.println(sb2.capacity());
		System.out.println(sb3.capacity());
		
		System.out.println(sb3.length());
		System.out.println(sb1.length());
		*/
		// charAt
		// indexOf / lastIndexOf
		// replace
		// substring
		
		// 문자열 조작
		// append / insert / delete
		System.out.println(sb3);
		sb3.append(" 안녕");
		// 버퍼가 바뀌는 것이다
		System.out.println(sb3);
	}

}

public class StringBufferEx01 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		String str1 = new String("Hello World");
		String str2 = str1.replaceAll("World", "세상");
		
		//System.out.println(str1);
		//System.out.println(str2);
		
		StringBuffer sb1 = new StringBuffer();
		StringBuffer sb2 = new StringBuffer(30);
		// "Hellow World"는 11자 + 기본 16자가 합쳐져서 27이다.
		StringBuffer sb3 = new StringBuffer("Hello World");
		/*
		System.out.println(sb1.capacity());
		System.out.println(sb2.capacity());
		System.out.println(sb3.capacity());
		
		System.out.println(sb3.length());
		System.out.println(sb1.length());
		*/
		// charAt
		// indexOf / lastIndexOf
		// replace
		// substring
		
		// 문자열 조작
		// append / insert / delete
		System.out.println(sb3);
		sb3.append(" 안녕");
		// 버퍼가 바뀌는 것이다
		System.out.println(sb3);
		// 3번째에 "추가"를 추가
		sb3.insert(3, "추가");
		System.out.println(sb3);
		// 1부터 3전까지 삭제
		sb3.delete(1, 3);
		System.out.println(sb3);
	}

}

StringBuffer에서 append하는 거랑 String.concat을 하는거랑 둘 중 빠른거는 버퍼에서 append하는게 더 빠르다

		// StringBuffer / String - 문자열
		// 형변환 - 문자열처럼 출력하고자 한다면 아래와 같이 toString을 해줘야한다
		String data = sb3.toString();

StringBuilder
: StringBuffer에서 쓰레드의 동기화만 뺀 기능으로 StringBuffer가 멀티쓰레드에 안전하도록 동기화 하면 성능을 떨어뜨리기 때문에 이 기능만 빼고 성능을 끌어올리는 기능이다

Math 클래스

public class MathEx01 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		// 올림 / 내림 / 반올림
		System.out.println(Math.ceil(10.3));
		System.out.println(Math.ceil(10.5));
		System.out.println(Math.ceil(10.7));
		
		System.out.println(Math.floor(10.3));
		System.out.println(Math.floor(10.5));
		System.out.println(Math.floor(10.6));
		
		System.out.println(Math.round(10.3));
		System.out.println(Math.round(10.5));
		System.out.println(Math.round(10.6));
		// 랜덤
		
	}

}

 

public class MathEx01 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		// 랜덤
		// 0<= 난수 < 1 실수
		System.out.println(Math.random());
		System.out.println(Math.random());
		
		// 1부터 45까지 정수를 추출(로또)
		System.out.println((int)(Math.random()*45)+1);
		System.out.println((int)(Math.random()*45)+1);
	}

}

Wrapper 클래스
: 기본 자료형의 클래스 화
  기본 자료형 -> 생성자 -> 클래스
  형변환

public class WrapperEx01 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		// Wrapper
		// 기본 자료형의 클래스 화
		// 기본 자료형 -> 생성자 -> 클래스
		// 형변환
		
		// Integer
		
		// 최대 최소
		System.out.println(Byte.MAX_VALUE);
		System.out.println(Byte.MIN_VALUE);
		
		System.out.println(Integer.MAX_VALUE);
		System.out.println(Integer.MIN_VALUE);
	}

}

public class WrapperEx01 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		// Wrapper
		// 기본 자료형의 클래스 화
		// 기본 자료형 -> 생성자 -> 클래스
		// 형변환
		
		// Integer
		
		// 최대 최소
		System.out.println(Byte.MAX_VALUE);
		System.out.println(Byte.MIN_VALUE);
		
		System.out.println(Integer.MAX_VALUE);
		System.out.println(Integer.MIN_VALUE);
		
		Integer i1 = new Integer(123);
		Integer i2 = new Integer("123");
		
		i1 = Integer.valueOf(345);
		i2 = Integer.valueOf("345");
		
		//Integer i3 = new Integer("123일");
		
		// 자료형 변환
		byte b = i1.byteValue();
		float f = i1.floatValue();
		
		System.out.println(b);
		System.out.println(f);
				
		
	}

}

public class WrapperEx01 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		// Wrapper
		// 기본 자료형의 클래스 화
		// 기본 자료형 -> 생성자 -> 클래스
		// 형변환
		
		// Integer
		
		// 최대 최소
		System.out.println(Byte.MAX_VALUE);
		System.out.println(Byte.MIN_VALUE);
		
		System.out.println(Integer.MAX_VALUE);
		System.out.println(Integer.MIN_VALUE);
		
		Integer i1 = new Integer(123);
		Integer i2 = new Integer("123");
		
		i1 = Integer.valueOf(345);
		i2 = Integer.valueOf("345");
		
		//Integer i3 = new Integer("123일");
		
		// 자료형 변환
		byte b = i1.byteValue();
		float f = i1.floatValue();
		
		System.out.println(b);
		System.out.println(f);
		
		String str1 = i1.toString();
		String str2 = Integer.toString(123);
		System.out.println(str1);
		System.out.println(str2);
				
		
	}

}

public class WrapperEx01 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		// Wrapper
		
		// 진법 변환
		String str3 = Integer.toBinaryString(123);
		System.out.println(str3);
				
		
	}

}

public class WrapperEx02 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		// 형 변환
		
		int i1 = Integer.parseInt("123");
		float f1 = Float.parseFloat("123.45");
		
		System.out.println(i1);
		System.out.println(f1);
	}

}

public class WrapperEx03 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		Integer i1 = new Integer(20);
		// 기본자료형 -> 객체화

		// AutoBoxing
		Integer i2 = 20;
		// AutoUnboxing
		int i3 = i2;
		
		int sum = new Integer(10) + 30;
		System.out.println(sum);
	}

}

WrapperEx3

public class WrapperEx3 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int i = 10;
		
		Integer intg = (Integer)i;
		Object obj = (Object)i;
		
		Long lng = 100L;
		
		int i2 = intg + 10;
		long l = intg + lng;
		
		Integer intg2 = new Integer(20);
		int i3 = (int)intg2;
		
		Integer intg3 = intg2 + 13;
		
		System.out.println("i = " + i);
		System.out.println("intg = " + intg);
		System.out.println("obj = " + obj);
		System.out.println("lng = " + lng);
		System.out.println("intg + 10 = " + i2);
		System.out.println("intg + lng = " + l);
		System.out.println("intg2 = " + intg2);
		System.out.println("i3 = " + i3);
		System.out.println("intg2 + i3 = " + intg3);
	}

}

public class SystemEx01 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		// System 구성
		
		System.out.println(System.getProperty("os.name"));
	}

}

public class SystemEx01 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		// System 구성
		
		System.out.println(System.getProperty("os.name"));
		System.out.println(System.getProperty("java.version"));
		System.out.println(System.getProperty("java.home"));
		
		// System 환경 구성
		System.out.println(System.getenv("path"));
		System.out.println(System.getenv("JAVA_HOME"));
	}

}

public class SystemEx02 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		/*
		if(args.length != 1) {
			System.out.println("종료");
		} else {
			System.out.println("정상실행");
		}
		*/
		if(args.length != 1) {
			System.out.println("종료");
			// 프로그램 종료
			System.exit(0);
		} 
		System.out.println("정상실행");
	}

}

데이터 한개 집어 넣어주면 정상실행됨

public class SystemEx03 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		// 경과 시간 측정
		long time1 = System.currentTimeMillis();
		
		long  sum = 0;
		for(int i=1; i<=100000000; i++) {
			sum += i;
		}
		
		long time2 = System.currentTimeMillis();
		System.out.println("수행시간 : " + (time2 - time1));
	}

}

Process Build

public class ProcessBuilderEx01 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		try {
			ProcessBuilder processBuilder
			//= new ProcessBuilder("C:\\Program Files\\Internet Explorer\\iexplore.exe");
			= new ProcessBuilder("C:/Program Files/Internet Explorer/iexplore.exe");
			
			processBuilder.start();
		} catch (Exception e) {
			// TODO: handle exception
		}
		
	}

}

iexplore.exe를 실행함

public class ProcessBuilderEx01 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		try {
			ProcessBuilder processBuilder
			//= new ProcessBuilder("C:\\Program Files\\Internet Explorer\\iexplore.exe");
			//= new ProcessBuilder("C:/Program Files/Internet Explorer/iexplore.exe");
			= new ProcessBuilder("C:/Program Files/Internet Explorer/iexplore.exe", "www.google.com");
			
			processBuilder.start();
		} catch (Exception e) {
			// TODO: handle exception
		}
		
	}

}

특정 페이지를 www.google.com으로 해서 출력함

public class ProcessBuilderEx01 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		try {
			ProcessBuilder processBuilder
			//= new ProcessBuilder("C:\\Program Files\\Internet Explorer\\iexplore.exe");
			//= new ProcessBuilder("C:/Program Files/Internet Explorer/iexplore.exe");
			//= new ProcessBuilder("C:/Program Files/Internet Explorer/iexplore.exe", "www.google.com");
			= new ProcessBuilder("C:/Windows/System32/notepad.exe");
			processBuilder.start();
		} catch (Exception e) {
			// TODO: handle exception
		}
		
	}

}

notepad를 실행 한다.

String 배열

기본 자료형 배열 - 기본 자료형 객체 자료형 배열 - 객체 자료형

public class ArrayEx01 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		/*
		// 기본 자료형 배열
		int[] arr1 = new int[5];
		
		String[] arr2 = new String[5];
		arr2[0] = new String("가");
		arr2[1] = new String("나");
		arr2[2] = new String("다");
		arr2[3] = new String("라");
		arr2[4] = new String("마");
		*/
		Person[] arr3 = new Person[3];
		
		Person p1 = new Person();
		p1.setName("박문수");
		p1.setAge(20);
		Person p2 = new Person();
		p2.setName("홍길동");
		p2.setAge(25);
		Person p3 = new Person();
		p3.setName("이몽룡");
		p3.setAge(30);
		arr3[0] = p1;
		arr3[1] = p2;
		arr3[2] = p3;
		
		for(int i=0; i<arr3.length; i++) {
			System.out.println(arr3[i].getName());
			System.out.println(arr3[i].getAge());
		}
	}

}
public class Person {
	private String name;
	private int age;
	
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	
	
}

public class ArrayEx01 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		/*
		// 기본 자료형 배열
		int[] arr1 = new int[5];
		
		String[] arr2 = new String[5];
		arr2[0] = new String("가");
		arr2[1] = new String("나");
		arr2[2] = new String("다");
		arr2[3] = new String("라");
		arr2[4] = new String("마");
		*/
		Person[] arr3 = new Person[3];
		
		Person p1 = new Person();
		p1.setName("박문수");
		p1.setAge(20);
		Person p2 = new Person();
		p2.setName("홍길동");
		p2.setAge(25);
		Person p3 = new Person();
		p3.setName("이몽룡");
		p3.setAge(30);
		arr3[0] = p1;
		arr3[1] = p2;
		arr3[2] = p3;
		
		System.out.println("p1 : " + p1);
		System.out.println("p2 : " + p2);
		System.out.println("p3 : " + p3);
		
		for(int i=0; i<arr3.length; i++) {
			System.out.println(arr3[i]);
			System.out.println(arr3[i].getName());
			System.out.println(arr3[i].getAge());
		}
	}

}

객체 배열은 배열에 실제 객체가 아닌 객체의 주소가 저장되어 있으므로 p1, p2, p3를 출력시 주소값이 나옴

public class ArrayEx01 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		/*
		// 기본 자료형 배열
		int[] arr1 = new int[5];
		
		String[] arr2 = new String[5];
		arr2[0] = new String("가");
		arr2[1] = new String("나");
		arr2[2] = new String("다");
		arr2[3] = new String("라");
		arr2[4] = new String("마");
		*/
		Person[] arr3 = new Person[3];
		
		Person p1 = new Person();
		p1.setName("박문수");
		p1.setAge(20);
		Person p2 = new Person();
		p2.setName("홍길동");
		p2.setAge(25);
		Person p3 = new Person();
		p3.setName("이몽룡");
		p3.setAge(30);
		arr3[0] = p1;
		arr3[1] = p2;
		arr3[2] = p3;
		
		System.out.println("p1 : " + p1);
		System.out.println("p2 : " + p2);
		System.out.println("p3 : " + p3);
		/*
		for(int i=0; i<arr3.length; i++) {
			System.out.println(arr3[i]);
			System.out.println(arr3[i].getName());
			System.out.println(arr3[i].getAge());
		}
		*/
		
		// 향상된 for 문
		for(Person p : arr3) {
			System.out.println(p.getName());
			System.out.println(p.getAge());
		}
	}

}

날짜와 시간
Calendar와 Date

import java.util.Date;

public class DateEx01 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub

		// java.util.*
		// 유틸리티(활용도구)
		// import 시켜야 함
		
		Date d = new Date();
		
		System.out.println(d);
		System.out.println(d.toString());
		System.out.println(d.toLocaleString());
	}

}

import java.util.Date;

public class DateEx01 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub

		// java.util.*
		// 유틸리티(활용도구)
		// import 시켜야 함
		
		Date d = new Date();
		
		System.out.println(d);
		System.out.println(d.toString());
		System.out.println(d.toLocaleString());
		
		System.out.println(d.getYear()+1900);
		System.out.println(d.getMonth()+1);
		System.out.println(d.getDate());
	}

}

import java.util.Date;

public class DateEx01 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub

		// java.util.*
		// 유틸리티(활용도구)
		// import 시켜야 함
		
		//Date d = new Date();
		Date d = new Date(2019-1900, 12-1, 5);
		
		System.out.println(d);
		System.out.println(d.toString());
		System.out.println(d.toLocaleString());
		
		System.out.println(d.getYear()+1900);
		System.out.println(d.getMonth()+1);
		System.out.println(d.getDate());
		
		System.out.println(d.getDay());
	}

}

import java.util.Date;

public class DateEx01 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub

		// java.util.*
		// 유틸리티(활용도구)
		// import 시켜야 함
		
		//Date d = new Date();
		Date d = new Date(2019-1900, 12-1, 5);
		
		System.out.println(d);
		System.out.println(d.toString());
		System.out.println(d.toLocaleString());
		
		System.out.println(d.getYear()+1900);
		System.out.println(d.getMonth()+1);
		System.out.println(d.getDate());
		
		System.out.println(d.getDay());
		
		System.out.println(d.getTime());
		System.out.println(System.currentTimeMillis());
	}

}

import java.util.Calendar;

public class CalendarEx01 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		//Calendar c = new Calendar();
		Calendar c = Calendar.getInstance();
		System.out.println(c.toString());
		
		// get(형식)
		System.out.println(c.get(Calendar.YEAR));
		System.out.println(c.get(Calendar.MONTH)+1);
		System.out.println(c.get(Calendar.DATE));
		
		System.out.println(c.get(Calendar.DAY_OF_WEEK));
		String[] weeks = {"월", "화", "수", "목", "금", "토", "일"};
		System.out.println(weeks[c.get(Calendar.DAY_OF_WEEK) -1]);
		
	}
}

import java.util.Calendar;

public class CalendarEx01 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		//Calendar c = new Calendar();
		Calendar c = Calendar.getInstance();
		System.out.println(c.toString());
		
		// get(형식)
		System.out.println(c.get(Calendar.YEAR));
		System.out.println(c.get(Calendar.MONTH)+1);
		System.out.println(c.get(Calendar.DATE));
		
		System.out.println(c.get(Calendar.DAY_OF_WEEK));
		String[] weeks = {"월", "화", "수", "목", "금", "토", "일"};
		System.out.println(weeks[c.get(Calendar.DAY_OF_WEEK) -1]);
		
		System.out.println(c.get(Calendar.HOUR));
		System.out.println(c.get(Calendar.MINUTE));
		System.out.println(c.get(Calendar.SECOND));
	}
}

import java.util.Calendar;

public class CalendarEx01 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		//Calendar c = new Calendar();
		Calendar c = Calendar.getInstance();
		System.out.println(c.toString());
		
		// get(형식)
		System.out.println(c.get(Calendar.YEAR));
		System.out.println(c.get(Calendar.MONTH)+1);
		System.out.println(c.get(Calendar.DATE));
		
		System.out.println(c.get(Calendar.DAY_OF_WEEK));
		String[] weeks = {"월", "화", "수", "목", "금", "토", "일"};
		System.out.println(weeks[c.get(Calendar.DAY_OF_WEEK) -1]);
		
		System.out.println(c.get(Calendar.HOUR));
		System.out.println(c.get(Calendar.MINUTE));
		System.out.println(c.get(Calendar.SECOND));
		
		System.out.println(c.getActualMaximum(Calendar.DATE));
		System.out.println(c.getActualMinimum(Calendar.DATE));
	}
}

import java.util.Calendar;

public class CalendarEx02 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Calendar c = Calendar.getInstance();
		c.set(2018, 2-1, 1);
		
		String[] weeks = {"일", "월", "화", "수", "목", "금", "토"};
		System.out.println(weeks[c.get(Calendar.DAY_OF_WEEK) -1]);
	}

}

import java.util.Calendar;

public class CalendarEx02 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Calendar c = Calendar.getInstance();
		// 2018 / 2 / 1
		//c.set(2018, 2-1, 1);
		// 2018 / 1 / 1의 하루전
		c.set(2018, 1-1, 1-1);
		
		String[] weeks = {"일", "월", "화", "수", "목", "금", "토"};
		System.out.println(weeks[c.get(Calendar.DAY_OF_WEEK) -1]);
	}
}

CalendarEx1

import java.util.Calendar;

public class CalenddarEx1 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Calendar today = Calendar.getInstance();
		System.out.println("이 해의 년도 : " + today.get(Calendar.YEAR));
		System.out.println("월(0~11, 0:1월) : " + today.get(Calendar.MONTH));
		System.out.println("이 해의 몇 째 주 : " + today.get(Calendar.WEEK_OF_YEAR));
		System.out.println("이 달의 몇 째 주 : " + today.get(Calendar.WEEK_OF_MONTH));
		
		System.out.println("이 달의 몇 일 : " + today.get(Calendar.DATE));
		System.out.println("이 달의 몇 일 : " + today.get(Calendar.DAY_OF_MONTH));
		System.out.println("이 해의 몇 일 : " + today.get(Calendar.DAY_OF_YEAR));
		System.out.println("요일(1~7, 1:일요일) : " + today.get(Calendar.DAY_OF_WEEK));
		System.out.println("이 달의 몇 째 요일: " + today.get(Calendar.DAY_OF_WEEK_IN_MONTH));
		System.out.println("오전_오후(0:오전, 1:오후) : " + today.get(Calendar.AM_PM));
		System.out.println("시간(0~11) : " + today.get(Calendar.HOUR));
		System.out.println("시간(0~23) : " + today.get(Calendar.HOUR_OF_DAY));
		System.out.println("분(0~59) : " + today.get(Calendar.MINUTE));
		System.out.println("초(0~59) : " + today.get(Calendar.SECOND));
		System.out.println("1000분의 1초(0~999) : " + today.get(Calendar.MILLISECOND));
		
		System.out.println("Timezon(-12~+12) : " + (today.get(Calendar.ZONE_OFFSET)/(60*60*1000)));
		System.out.println("이 달의 마지막 날 : " + today.getActualMaximum(Calendar.DATE));
	}

}

import java.util.Calendar;

public class CalendarEx2 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Calendar c = Calendar.getInstance();
		c.set(2018, 1-1, 1-1);
		
		String[] weeks = {"일", "월", "화", "수", "목", "금", "토"};
		System.out.println(weeks[c.get(Calendar.DAY_OF_WEEK) -1]);
		
		Calendar to = Calendar.getInstance();
		
		long diffTime = (to.getTimeInMillis() - c.getTimeInMillis()) / 1000;
		System.out.println("초차 : " + diffTime + "초");
		System.out.println("시차 : " + diffTime/(60*60) + " 시차");
		System.out.println("일차 : " + diffTime/(60*60*24) + " 일차");
	}

}

import java.util.Calendar;

public class CalendarEx4 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Calendar date = Calendar.getInstance();
		date.set(2016, 2, 6);
		
		System.out.println(toString(date));
		System.out.println("= 1일 후 =");
		date.add(Calendar.DATE, 1);
		System.out.println(toString(date));
		
		System.out.println("= 6달 전 =");
		date.add(Calendar.MONTH, -6);
		System.out.println(toString(date));
		
		System.out.println("= 31일 후(roll) =");
		date.roll(Calendar.DATE, 31);
		System.out.println(toString(date));
		
		System.out.println("= 31일 후(add) =");
		date.add(Calendar.DATE, 31);
		System.out.println(toString(date));
		
		System.out.println("= 1000일 후(add) =");
		date.add(Calendar.DATE, 1000);
		System.out.println(toString(date));
	}
	
	public static String toString(Calendar date) {
		return date.get(Calendar.YEAR) + "년 " 
					+ (date.get(Calendar.MONTH) +1)
					+ "월 " + date.get(Calendar.DATE) + "일";
	}

}

CalendarEx6에서 일요일은 [x]로 표기할 것

import java.util.Calendar;

public class CalendarEx6 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		if(args.length != 2) {
			System.out.println("Usage : java CalendarEx6 2015 9");
			return;
		}
		int year = Integer.parseInt(args[0]);
		int month = Integer.parseInt(args[1]);
		int START_DAY_OF_WEEK = 0;
		int END_DAY = 0;
		
		Calendar sDay = Calendar.getInstance();		// 시작일
		Calendar eDay = Calendar.getInstance();		// 끝일
		
		sDay.set(year, month-1, 1);
		eDay.set(year, month, 1);
		
		eDay.add(Calendar.DATE, -1);
		
		START_DAY_OF_WEEK = sDay.get(Calendar.DAY_OF_WEEK);
		
		END_DAY = eDay.get(Calendar.DATE);
		
		System.out.println("         " + args[0] + "년 " + args[1] + "월");
		System.out.println("");
		System.out.println("   SU  MO TU WE TH FR SA");
		
		for(int i=1; i < START_DAY_OF_WEEK; i++) {
			System.out.print("   ");
		}
		
		for(int i=1, n=START_DAY_OF_WEEK; i <= END_DAY; i++, n++) {
			//System.out.print((i<10) ? "  " + "[" + i + "]" : " " + "[" + i + "]");
			if(n%7 == 1) {
				System.out.print((i<10) ? "   " + "[" + i + "]" : "  " + "[" + i + "]");
			}else if(n%7==0) {
				System.out.print((i<10) ? "  " + i : " " + i);
				System.out.println();
			}else {
				System.out.print((i<10) ? "  " + i  : " " + i);
			} 
		}
	}
}

printf 형식화된 출력

import java.util.Calendar;

public class CalendarEx6 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		if(args.length != 2) {
			System.out.println("Usage : java CalendarEx6 2015 9");
			return;
		}
		int year = Integer.parseInt(args[0]);
		int month = Integer.parseInt(args[1]);
		int START_DAY_OF_WEEK = 0;
		int END_DAY = 0;
		
		Calendar sDay = Calendar.getInstance();		// 시작일
		Calendar eDay = Calendar.getInstance();		// 끝일
		
		sDay.set(year, month-1, 1);
		eDay.set(year, month, 1);
		
		eDay.add(Calendar.DATE, -1);
		
		START_DAY_OF_WEEK = sDay.get(Calendar.DAY_OF_WEEK);
		
		END_DAY = eDay.get(Calendar.DATE);
		
		System.out.println("         " + args[0] + "년 " + args[1] + "월");
		System.out.println("");
		System.out.println("   SU  MO TU WE TH FR SA");
		
		for(int i=1; i < START_DAY_OF_WEEK; i++) {
			System.out.print("   ");
		}
		
		for(int i=1, n=START_DAY_OF_WEEK; i <= END_DAY; i++, n++) {
			//System.out.print((i<10) ? "  " + "[" + i + "]" : " " + "[" + i + "]");
			if(n%7 == 1) {
				//System.out.print((i<10) ? "   " + "[" + i + "]" : "  " + "[" + i + "]");
				System.out.printf(i<10 ? "   [%d]" : "  [%d]", i<10?i:i);
			}else if(n%7==0) {
				//System.out.print((i<10) ? "  " + i : " " + i);
				System.out.printf(i<10 ? "  %d" : " %d", i<10?i:i);
				System.out.println();
			}else {
				//System.out.print((i<10) ? "  " + i  : " " + i);
				System.out.printf(i<10 ? "  %d" : " %d", i<10?i:i);
			} 

		}
	}
}

 

 

 

반응형

댓글