본문 바로가기

Study Note/Java169

728x90
JAVA_ Test141_1_ Random 클래스 / 로또 번호 생성기 (난수 발생 프로그램) Test141_1 Random 클래스 / 로또 번호 생성기 (난수 발생 프로그램)※ Test141과 비교 ※ java.util.Random 클래스는 여러 형태의 난수를 발생시켜 제공하는 클래스이다. Math 클래스의 정적 메소드인 random() 메소드도 난수를 제공하는 메소드이지만 0.0 ~ 1.0 사이의 실수 형태만 발생하게 되므로 필요한 여러 형태의 난수를 만들어내기 위해서는 추가적인 연산들을 수행해야 한다. 그래서 자바는 여러 형태의 난수를 발생시켜주는 전용 클래스인 Random 클래스를 별도로 제공하고 있다. ※ 로또 번호 생성기 (난수 발생 프로그램) 프로그램이 실행되면 기본적으로 로또를 5게임 수행하는 프로그램 구현 (작은 번호부터 큰 순서로 정렬) ※ 로또번호 : 1~45 사이 중복되지 않.. 2018. 6. 17.
JAVA_ Test141_ Random 클래스 / 로또 번호 생성기 (난수 발생 프로그램) Test141 Random 클래스 / 로또 번호 생성기 (난수 발생 프로그램)※ java.util.Random 클래스는 여러 형태의 난수를 발생시켜 제공하는 클래스이다. Math 클래스의 정적 메소드인 random() 메소드도 난수를 제공하는 메소드이지만 0.0 ~ 1.0 사이의 실수 형태만 발생하게 되므로 필요한 여러 형태의 난수를 만들어내기 위해서는 추가적인 연산들을 수행해야 한다. 그래서 자바는 여러 형태의 난수를 발생시켜주는 전용 클래스인 Random 클래스를 별도로 제공하고 있다. ※ 로또 번호 생성기 (난수 발생 프로그램) 프로그램이 실행되면 기본적으로 로또를 5게임 수행하는 프로그램 구현 (작은 번호부터 큰 순서로 정렬) ※ 로또번호 : 1~45 사이 중복되지 않는 6개의 수 Test141... 2018. 6. 17.
JAVA_ Test140_ Math 클래스 Test140 Math 클래스※ java.lang.Math 클래스는 수학(Mathematics) 과 관련된 유용한 속성과 함수들을 제공하는 클래스로 생성자가 있긴 하지만... 『private』으로 선언되어 있기 때문에 외부에서 객체(인스턴스)를 생성할 수 없다. 단, 모든 메소드가 『static』으로 정의되어 있으므로 객체를 생성하지 않고 바로 접근하여 사용하는 것이 가능하다. ※ java.lang.Math 클래스의 주요 상수 및 메소드 - public static final double E = 2.71....; : 자연 로그 상수 - public static final double PI = 3.141592....; : 원주율(π) - public static double sin(double a) - p.. 2018. 6. 16.
JAVA_ Test139_ Calendar 클래스 / GregorianCalender() / 날짜더하기 프로그램 Test139 Calendar 클래스 / GregorianCalender() / 날짜더하기 프로그램※ 실습 문제 오늘을 기준으로 입력받는 날짜만큼 후의 년, 월, 일, 요일을 확인하여 결과를 출력하는 프로그램을 구현한다. Test139.java import java.util.Scanner;import java.util.Calendar;import java.util.GregorianCalendar; public class Test139{public static void main(String[] args){// 인스턴스 생성Scanner sc = new Scanner(System.in);Calendar ob = new GregorianCalendar();// 주요 변수 선언int y, m, d, w, day.. 2018. 6. 16.
JAVA_ Test138_ Calendar 클래스 / GregorianCalender()는 Calendar의 자식객체 Test138 Calendar 클래스 / GregorianCalender()는 Calendar의 자식객체※ java.util.Calendar 클래스는 날짜와 시간을 객체 모델링화 한 클래스로 연, 월, 일, 요일, 시, 분, 초 까지의 시간과 날짜가 관련된 정보를 제공한다. 그리고, Calendar 클래스는 추상클래스이므로 직접 객체를 생성할 수 없으며 실제적인 메소드 구현은 Calendar 클래스의 서브 클래스인 『GregorianCalendar』 클래스에 정의되어 있다. 시스템으로부터 현재 시스템 시간 정보를 얻어올 때 getInstance() 라는 정적(static) 메소드를 이용하여 객체를 생성할 수 있다. 생성된 Calendar 클래스 객체는 시스템의 현재 날짜와 시간 정보를 가지며, 이 객체가.. 2018. 6. 16.
JAVA_ Test137_ Calendar 클래스 / .get(Calendar.YEAR) Test137 Calendar 클래스 / .get(Calendar.YEAR)※ Calendar 클래스는 추상클래스이기 때문에 객체를 생성할 수 없다.(추상 클래스 : 미완성된 클래스)Calendar ob = new Calendar(); → 이와 같은 구문을 통해 인스턴스 생성 불가. ○ Calendar 클래스 객체(인스턴스)를 생성할 수 있는 방법1. Calendar ob1 = Calendar.getInstance();2. Calendar ob2 = new GregorianCalender();//-- GregorianCalender()는 Calender의 자식클래스, 업캐스팅3. GregorianCalender ob3 = new GregorianCalendar();(※ GregorianCalendar :.. 2018. 6. 16.
JAVA_ Test136_ 문자열 관련 클래스 / 캐릭터 셋(CharacterSet) / try{}catch(){} / UnsupportedEncodingException Test136 ※ 캐릭터 셋(Character Set) ○ 유니코드(unicode) 국제 표준으로 제정된 2바이트계의 만국 공통의 국제 문자부호 체계(UCS: Universal Code System)를 말한다. 애플 컴퓨터, IBM, 마이크로소프트 등이 컨소시엄으로 설립한 유니코드(Unicode)가 1990년에 첫 버전을 발표하였고, ISO/IEC JTC1 에서 1995년 9월 국제표준으로 제정하였다. 공식 명칭을 ISO/IEC 10646-1(Universal Multiple-Octet Coded Character Set)이다. 데이터의 교환을 원활하게 하기 위하여 문자 1개에 부여되는 겂을 16비트로 통일하였다. 코드의 1문자 당 영어는 7비트, 비영어는 8비트, 한글이나 일본어는 16비트의 값을 가지.. 2018. 6. 16.
JAVA_ Test135_ StringTokenizer 클래스 / .counTokens() / .hasMoreTokens() / .nextToken() Test135 StringTokenizer 클래스 / .counTokens() / .hasMoreTokens() / .nextToken()※ StringTokenizer 클래스 문자열 파싱(parsing)을 위한 정보를 제공하는 클래스로 파싱(parsing)하고자 하는 문자열을 인자로 받아 생성하는데, 여기에서 파싱(parsing)이란 하나의 문자열을 여러 문자열로 나누는 작업을 의미하게 되며, 이 때 나누는 단위가 되는 문자열을 토큰(token)이라고 한다. ※ StringTokenizer 클래스를 사용하기 위해서는 java.util 패키지의 StringTokenizer 를 import 해야 한다. ※ StringTokenizer 클래스는 ★--- 호환성을 유지하는 목적으로 보관 유지되고 있으며 (기존.. 2018. 6. 16.
JAVA_ Test134_ StringBuffer 클래스 / .replace() / .delete() / .substring() / .insert() Test134 StringBuffer 클래스 / .replace() / .delete() / .substring() / .insert() Test134.java public class Test134{public static void main(String[] args){String s1 = "123456789";s1 = (s1 + "123").replace('2', 'A');// 123456789// 123456789123// 1A34567891A3 System.out.println(s1);//--==>> 1A34567891A3 StringBuffer s2 = new StringBuffer("123456789");s2.delete(0,3).replace(1, 3, "24").delete(4, 6);// 1.. 2018. 6. 16.
JAVA_ Test133_ StringBuffer 클래스 / 버퍼 크기 조절 Test133 StringBuffer 클래스 / 버퍼 크기 조절※ StringBuffer 클래스는 문자열을 처리하는 클래스로 String 클래스와의 차이점은 String 클래스는 내부 문자열 데이터의 수정이 불가능하지만 StringBuffer 클래스는 문자열을 사용할 때 내부 문자열을 실행 단계에서 변경할 수 있다. 즉, StringBuffer 객체는 가변적인 길이를 가지므로 객체를 생성하는 시점에서 미리 그 크기나 값을 지정하거나 실행 시점에 버퍼 크기를 바꿀 수 있는 기능을 제공하는 것이다. 또한 JDK 1.5 이후부터는 문자열을 처리하는 StringBuilder 라는 클래스도 제공한다. StringBuilder 클래스의 기능은 StringBuffer 클래스와 동일하지만 가장 큰 차이점은 multi-.. 2018. 6. 16.