728x90
반응형
lotto.java
package javautilex;

import java.util.Arrays;

public class test {

	public static void main(String[] args) {
		int[] lotto = new int[45];

		for (int i = 1; i <= 45; i++) {
			lotto[i - 1] = i;
		}
//		for (int i : lotto) {
//			System.out.print(i + " ");
//		}
		String pickNum = "";
		String[] lottoNum = new String[7];
		while (true) {
			int num = (int) (Math.random() * lotto.length - 1);
			String str = lotto[num] + ",";
			if (pickNum.indexOf(str) <= -1) {
				pickNum += str;
			}
			lottoNum = pickNum.split(",");
			if (lottoNum.length == 7) {
				System.out.println(pickNum);
				break;
			}
		}
		int[] pickArr = new int[6];
		for (int i = 0; i < lottoNum.length - 1; i++) {
			pickArr[i] = Integer.parseInt(lottoNum[i]);
		}

		System.out.println("\n\n당첨번호 : ");
		Arrays.sort(pickArr);
		for (int i : pickArr) {
			System.out.print(i +" ");
		}
		System.out.println(" + (보너스번호): " + lottoNum.length);
		
//		int l =((int)(Math.random() * lotto.length-1));
//		for (int c=0; c<7; c++ ) {
//			System.out.print(l + " "); 
	}

//		mail = l + "1*21*3*47*5";
//		int c = l +1;
//		System.out.print(c + " "); 
}​
39,12,16,8,13,7,25,


당첨번호 : 
7 8 12 13 16 39  + (보너스번호): 7​
UtilEx02.java
Calendar
package javautilex;

import java.util.Calendar;

public class UtilEx02 {

	public static void main(String[] args) {
		String months[] = {"1월", "2월", "3월", "4월", "5월", "6월", "7월", "8월", "9월", "10월", "11월","12월" };
		//0월부터 시작하므로 배열입력
		String[] week = {"일요일", "월요일", "화요일", "수요일", "목요일", "금요일", "토요일"};
		Calendar calendar = Calendar.getInstance();
		//컴퓨터 시스템 시간
		
		System.out.println("날짜 : " + calendar);
		System.out.print(calendar.get(Calendar.YEAR) + "년 ");
		//YEAR 1번값 호출
		System.out.print(months[calendar.get(Calendar.MONTH)]);//months[0]번 인덱스
		System.out.print(" " + calendar.get(Calendar.DATE) + "일 ");
		System.out.println(week[calendar.get(Calendar.DAY_OF_WEEK)-1]);
		//1부터 반환하므로
		
		System.out.print("시간 : ");
		//get(Calendar.AM_PM) => 0:오전, 1:오후
		if(calendar.get(Calendar.AM_PM) == 0)
			System.out.print("오전 ");
		else
			System.out.print("오후 ");

		System.out.print(calendar.get(Calendar.HOUR) +"시 ");
		System.out.print(calendar.get(Calendar.MINUTE) +"분 ");
		System.out.println(calendar.get(Calendar.SECOND) +"초 ");
		
		System.out.print(calendar.get(Calendar.YEAR));
		System.out.print(". " + calendar.get(Calendar.MONTH)); //0부터 리턴
		System.out.print(". " + calendar.get(Calendar.DATE));//0부터 리턴
		System.out.println(". " + calendar.get(Calendar.DAY_OF_WEEK));//요일 : 1부터 리턴
		System.out.println();
		
		calendar.set(Calendar.YEAR, 2018);
		calendar.set(Calendar.MONTH, Calendar.JANUARY);
		calendar.set(Calendar.DATE, 5);
		calendar.set(Calendar.HOUR, 1);
		calendar.set(Calendar.MINUTE, 13);
		calendar.set(Calendar.SECOND, 56);
		
		System.out.print(calendar.get(Calendar.YEAR));
		System.out.print(". " + calendar.get(Calendar.MONTH+1)); //0부터 리턴
		System.out.print(". " + calendar.get(Calendar.DATE));//0부터 리턴
		System.out.println(". " + calendar.get(Calendar.DAY_OF_WEEK));//요일 : 1부터 리턴
		
	}

}

날짜 : java.util.GregorianCalendar[time=1704246500822,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Asia/Seoul",offset=32400000,dstSavings=0,useDaylight=false,transitions=30,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2024,MONTH=0,WEEK_OF_YEAR=1,WEEK_OF_MONTH=1,DAY_OF_MONTH=3,DAY_OF_YEAR=3,DAY_OF_WEEK=4,DAY_OF_WEEK_IN_MONTH=1,AM_PM=0,HOUR=10,HOUR_OF_DAY=10,MINUTE=48,SECOND=20,MILLISECOND=822,ZONE_OFFSET=32400000,DST_OFFSET=0]
2024년 1월 3일 수요일
시간 : 오전 10시 48분 20초 
2024. 0. 3. 4

2018. 1. 5. 6​

 

Calendar

   
  SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SS a ww째주"); 

//MM달/mm분 구분 
//D오늘의일자수/d일자
//HH24시간/hh12시간
//ss초/SS밀리세컨ㄷ
//a 오전,오후 자동구분
//ww째주
.format(Date)

  DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS a") LocalDate.now().atStartOfDay().format(formatter);
  LocalDateTime  
     
Time.java
SimpleDateFormat
package javautilex;

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

public class UtilEx03 {

	public static void main(String[] args) {
		Calendar cal = Calendar.getInstance(); //현재 시간의 정보
		System.out.println(cal);
//		cal.set(cal.get(Calendar.YEAR), cal.get(Calendar.MONTH), cal.get(Calendar.DATE));
		//set - 메세지 오버로딩
		Date day = cal.getTime();
		//Date 1970년부터
		System.out.println("day: " + day);
		System.out.println();
		
		Date nowday = new Date();
		//nowday적은 범위의 날짜
		System.out.println("nowday: " + nowday);
		
		//SimpleDateFormat 날짜를 내가 원하는 형식으로 출력
		//객체생성 필수.
		SimpleDateFormat sdf1, sdf2, sdf3;
		sdf1 = new SimpleDateFormat("yyyy년 MM월 dd일 E요일"); 
		sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SS"); 
		sdf3 = new SimpleDateFormat("yyyy-MM-dd HH:mm a"); 
		//MM달/mm분 구분 
		//D오늘의일자수/d일자
		//HH24시간/hh12시간
		//ss초/SS밀리세컨ㄷ
		//a 오전,오후 자동구분
		System.out.println("sdf1: "+sdf1.format(day));
		System.out.println("sdf2: "+sdf2.format(day));
		System.out.println("sdf3: "+sdf3.format(day));
		sdf2 = new SimpleDateFormat("yy-M-d h:m");
		System.out.println("sdf2: "+sdf2.format(day));
	}
}​
java.util.GregorianCalendar[time=1704248334224,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Asia/Seoul",offset=32400000,dstSavings=0,useDaylight=false,transitions=30,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2024,MONTH=0,WEEK_OF_YEAR=1,WEEK_OF_MONTH=1,DAY_OF_MONTH=3,DAY_OF_YEAR=3,DAY_OF_WEEK=4,DAY_OF_WEEK_IN_MONTH=1,AM_PM=0,HOUR=11,HOUR_OF_DAY=11,MINUTE=18,SECOND=54,MILLISECOND=224,ZONE_OFFSET=32400000,DST_OFFSET=0]
day: Wed Jan 03 11:18:54 KST 2024

nowday: Wed Jan 03 11:18:54 KST 2024
sdf1: 2024년 01월 03일 수요일
sdf2: 2024-01-03 11:18:54.224
sdf3: 2024-01-03 11:18 오전
sdf2: 24-1-3 11:18​
GregorianCalendar

SimpleDateFormat

package javautilex;

import java.text.SimpleDateFormat;
import java.util.*;
//import java.util.Date;
//import java.util.GregorianCalendar;

public class UtilEx04 {

	public static void main(String[] args) {
		int nYear;
		int nMonth;
		int nDay;
		
		//현재 날짜 구하기
		Calendar calendar = new GregorianCalendar();
		nYear = calendar.get(Calendar.YEAR);
		nMonth = calendar.get(Calendar.MONTH) + 1;
		nDay = calendar.get(Calendar.DAY_OF_MONTH);
		System.out.println("Gregorian Calendar = " + nYear +"년 " + nMonth + "월 "+ nDay+"일");
		
		calendar = new GregorianCalendar(2018,0,5);
		nYear = calendar.get(Calendar.YEAR);
		nMonth = calendar.get(Calendar.MONTH) + 1;
		nDay = calendar.get(Calendar.DAY_OF_MONTH);
		System.out.println("Gregorian Calendar = " + nYear +"년 " + nMonth + "월 "+ nDay+"일");
		
		//date로 구하기
		SimpleDateFormat fm1 = new SimpleDateFormat("yyyy년 MM월 dd일");
		String date = fm1.format(new Date());
		System.out.println("현재시간 년월일 = " + date);
		
		SimpleDateFormat fm2 = new SimpleDateFormat("yyyy년 MM월 dd일 HH시 mm분 ss.S초 a");
		String date1 = fm2.format(new Date());
		System.out.println("현재시간 시분초 = " + date1);
		fm2 = new SimpleDateFormat ("yyyy년 MM월 dd일 E요일 ww째주");
		//ww주차수
		date1 = fm2.format(new Date());
		System.out.println("현재는 일년 중 몇째주 = " + date1);
	}

}​
Gregorian Calendar = 2024년 1월 3일
Gregorian Calendar = 2018년 1월 5일
현재시간 년월일 = 2024년 01월 03일
현재시간 시분초 = 2024년 01월 03일 12시 17분 35.739초 오후
현재는 일년 중 몇째주 = 2024년 01월 03일 수요일 01째주​

 

TimeEx.java
LocalDateTime

package javatimeex;

import java.time.*;

public class TimeEx {

	public static void main(String[] args) {
		// LocalDate 해당 국가를 인식하는 클래스
		// LocalDate 년, 월, 일 정보만 갖는다. (오늘 날짜 가져오기)
		LocalDate nowDate = LocalDate.now();
		System.out.println("현재 년,월,일 정보: " + nowDate + "\n");
		
		// 특정일 지정 가능.  년, 월, 일 (월 1부터 계산 - Date, Calendar 개선)
		LocalDate ofDate = LocalDate.of(2021, 1, 11);
		System.out.println("특정일 년,월,일 정보: " + ofDate + "\n");
		
		// LocalTime은 시, 분, 초 정보만 가진다.
		LocalTime nowTime = LocalTime.now();
		System.out.println("현재 시, 분, 초, 나노세컨트초 정보: " + nowTime + "\n");
		
		// LocalDateTime은 년, 월, 일, 시, 분, 초 정보만 가진다.
		LocalDateTime nowDateTime = LocalDateTime.now();
		System.out.println("현재 날짜시간 정보: " + nowDateTime + "\n");
		//T~시간정보
		
		LocalDateTime ofDateTime = LocalDateTime.of(2018, 12, 11, 15, 23, 32);
		DayOfWeek dayOfWeek = ofDateTime.getDayOfWeek();
		//getDayOfWeek 영문표기법으로 반환
		System.out.println("특정일 날짜시간 정보: " + ofDateTime + " " + dayOfWeek);
	}
}
현재 년,월,일 정보: 2024-01-03

특정일 년,월,일 정보: 2021-01-11

현재 시, 분, 초, 나노세컨트초 정보: 12:11:38.226596600

현재 날짜시간 정보: 2024-01-03T12:11:38.226596600

특정일 날짜시간 정보: 2018-12-11T15:23:32 TUESDAY
TimeEx02.java
DateTimeFormatter
package javatimeex;

import java.time.*;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.format.DateTimeFormatter;
import java.time.format.TextStyle;
import java.util.Locale;

public class TimeEx02 {
	public static void main(String[] args) {
		//DateTimeFormatter
		DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS a");
		String date = LocalDate.now().atStartOfDay().format(formatter); //체이닝기법
		System.out.println("금일 자정: " + date + "\n");
		//atStartOfDay() Time
		LocalDateTime tomorrow = LocalDateTime.now().plusDays(1);
		date = tomorrow.format(formatter);
		System.out.println("내일 현재 시간: " + date+ "\n");

		tomorrow = LocalDateTime.now().plusDays(1).with(LocalTime.MAX);
		date = tomorrow.format(formatter);
		System.out.println("내일의 맨 마지막 시간: " + date + "\n");

		tomorrow = LocalDateTime.now().plusDays(1).with(LocalTime.MIN);
		date = tomorrow.format(formatter);
		System.out.println("내일의 처음 시간: " + date + "\n");

		LocalDateTime todate = LocalDateTime.now().with(LocalTime.NOON);
		date = todate.format(formatter);
		System.out.println("오늘 날짜의 정오: " + date + "\n");

		todate = LocalDateTime.now();
//		String dayOfWeek = todate.getDayOfWeek().getDisplayName(TextStyle.FULL, Locale.getDefault());
		String dayOfWeek = todate.getDayOfWeek().getDisplayName(TextStyle.FULL, Locale.KOREAN);
		//TextStyle.FULL/SHORT 장,단문자
		//Locale.getDefault() 시스템설정된 국가
		date = todate.format(formatter);
		System.out.println(date + " " + dayOfWeek);
	}
}​
금일 자정: 2024-01-03 00:00:00.000 오전

내일 현재 시간: 2024-01-04 12:58:51.160 오후

내일의 맨 마지막 시간: 2024-01-04 23:59:59.999 오후

내일의 처음 시간: 2024-01-04 00:00:00.000 오전

오늘 날짜의 정오: 2024-01-03 12:00:00.000 오후

2024-01-03 12:58:51.161 오후 수요일​

package interfaceex;

class FinalClass {
	private static String modelName = "Mustang";

	public static void main(String[] args) {
		Vehicle myFastCar = new Vehicle();
		myFastCar.cmd();
		myFastCar.vmd();
		System.out.println(myFastCar.brand + " " + modelName);
	}
}

final class Mashin {
	public void mmd() {
		System.out.println("Mashin클래스 메소드");
	}
}
//final 상속할 수 없는 Class, Method
//자식으로는 가능

class Car1 {
	public void cmd() {
		System.out.println("Car클래스 메소드");
	}
	public final void cmd1() {
		System.out.println("Car클래스 final 메소드");
	}
}

class Vehicle extends Car1 {
	protected String brand = "Ford";
	//protected 다른 패키지 상속받은 자식까지만.
	public void vmd() {
		System.out.println("Vehicle클래스 메소드");
	}
	public void cmd() {
		System.out.println("Car클래스 메소드를 Vehicle클래스에서 재정의한 메소드");
	}
//	public final void cmd1() {
//		System.out.println("Car클래스 final 메소드를 Vehicle클래스에서 재정의한 메소드");
//	}
}​
Car클래스 메소드를 Vehicle클래스에서 재정의한 메소드
Vehicle클래스 메소드
Ford Mustang​

final 

- Class, Method에 사용되면 상속불가하지만
- 자식으로는 가능

 

728x90
반응형

+ Recent posts