본문 바로가기

Study/Java

(21)
[java] 지도의 위도,경도로 원형 좌표 거리 계산 및 좌표변환 지도의 위도,경도로 원형 좌표 거리 계산 /** * @설명 : 현재 내 위치에서 반경 1km 까지의 3,6,9,12시 좌표값 얻기 */ public class GetBounds { public double minX = 0; public double minY = 0; public double maxX = 0; public double maxY = 0; public GetBounds(double mylon, double mylat) { // mylon = 126.9864655; // mylat = 37.56096649; double radius = 0.007; double ptX = mylon + (radius * Math.cos(0)); // 3시 좌표값 double ptY = mylat + (radius..
[java] JAVA 꼭 알아야할 것 기본적으로 자바에서 많이 쓰이는 것 * 기본중에 기본을 자유화 시키자 * 변수 : 각각의 데이터형 -> 연산자, 연산자 + 데이터형 = 기본형 형변환 (%, +=, ?, !=, ==) 제어문 if문 switch문, for문(continue, break), while문 배열 객체지향 자바 -> JSP, 개념 class와 객체와의 관계 객체 생성 : 생성자 -> 객체 초기화 -> 멤버변수 초기화(this) -> 메소드 호출 -(인자의 갯수와 데이터형 구분, 리턴형)> 메소드 정의 상속 상속 : 기본적인 내용과 object 형변환, 오버라이딩 -> 추상 클래스, 인터페이스 => 다형성 꼭 알아야하는 클래스 String 클래스 StringBuffer 클래스 - 서로 비교할 수 있어야 한다. Random 클래스 ..
[java] 스레드, 소켓 실습 멀티스레드 Account.java public class Account { String accountNo; String ownerName; int balance; Account (String accountNo, String ownerName, int balance) { this.accountNo = accountNo; this.ownerName = ownerName; this.balance = balance; } void desposit(int amount) { balance += amount; } int withdraw(int amount) { if (balance < amount) return 0; balance -= amount; return amount; } } 공유 영역 클래스 SharedAre..
[java] 스레드, 소켓 멀티스레드(Multi-Thread) - 스레드 : 프로그램의 실행 흐름 꼭 run() 메소드를 써줘야한다. run()메소드 안에 스레드가 해야할 일을 넣어준다. - 싱글스레드 : 스레드가 하나뿐인 프로그램 작동 방식 : 스레드의 시작 -> 스레드의 끝 작성 방법 : java.lang.Thread 클래스 - 멀티스레드 : 스레드가 둘 이상인 프로그램. 스레드를 더 많이 사용하는 만큼 우선 순위를 정한다. 작동방식 : 1번 스레드 시작 -> 2번 스레드 시작 -> 1번 스레드 끝 -> 3번 스레드 시작 -> 2번 스레드 끝 -> 3번 스레드 끝 작성 방법 : java.lang.Ruunable 인터페이스 스레드를 생성하는 부분은 어렵지 않다. 그러나, 통제하는 부분이 어렵다 *Ruunable : start *..
[java] Input, Output 실습 과제1>키보드로 부터 입력한 데이터를 DataOutputStream을 이용하여 다음 데이터를 stu.dat 파일에 기록하자. * 데이터는 이름(UTF), 국어(int), 영어(int), 수학(int), 과학(int) 순이다. 입력>홍길동 80 75 65 50 public static void main(String[] args) throws Exception{ //1. 키보드를 입력한다. byte buf[] = new byte[100]; BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String name; int kor, mat, eng, sci; System.out.println("이름 입력 :"); name = br...
[java] Input, Output Input, Output 패키지 - Input/Output 키보드로부터 데이터를 입력하고, 화면으로부터 출력받았다. Stream - 배관 프로그램인 내가 딸기우유인 file을 먹고 싶다면 Stream이란 빨대로 먹으면 된다. read로 file을 쓰고, write로 호출한다. IO Exception에 대한 예외처리는 꼭 해줘야한다. 파일이 존재하지 않으면 에러가 나기 때문에 항상 예외처리는 꼭 해줘야 한다. InpitStream, OutputStream - 추상클래스 -> 추상 메소드, new 생성이 없다 read(), write()가 있다. FileInputStream - 파일로부터 바이트 데이터를 읽는 클래스(int, byte) //키보드값을 입력받을 때 사용 (System.in) InputStrea..
[java] 클래스와 자료구조 실습 Member 1. 난수 발생 -> 배열의 위치를 변경 2. a= (int) (Math.random() * 10); -> 곱하기할 때, 괄호를 항상 넣어줘야 한다. 그렇지 않으면, random에서 소수점이 나오는데 정수형변환할 때, 0으로 출력이 된다. Array를 이용한 카드랜덤뽑기 public static void main(String[] args) { Random rd = new Random(); String[] card = { "하트1", "하트2", "하트3", "하트4", "하트5", "하트6", "하트7", "하트8", "하트9", "하트10"}; String temp; int a, b; for(int i=0;i
[java] 클래스와 자료구조 Math 클래스 - 수학에서 많이 사용되는 함수를 제공하는 클래스 int num = (int) Math.Random() * 10; -> 0부터 1까지의 소수 난수를 0부터 9까지의 정수 난수로 만드는 식 Random 클래스 - 난수를 발생시키는 데 사용되는 클래스 Random random = new Random(); => 파라미터를 받지 않는 생성자 System.out.println(random.newInt(100)); =>0부터 99까지의 정수 출력 Arrays 클래스 - 배열을 조작하기 위한 클래스 compareTo 인터페이스 - 어떤 기준으로 정렬할 지 정의해 주기 위해 사용하는 인터페이스 Wapper 클래스 - 기본형 데이터를 오브젝트형 데이터로 넣어 주기 위한 클래스 (1.4버전까진 wapper..