728x90
반응형
Scanner |
||
내가입력한 줄이 끝났음을 명시하는 문자 : [ ](한 칸 공백) 만약 line이 숨어져 있지 않은 메소드를 이어서 쓰는 경우는 다음을 입력하기 위해서는 엔터를 쳐주어야 한다. 값을 입력시 절대 공백을 넣을 수 없다. 연결된 단어로만 가능하다. 한 칸 입력시 공백입력하면 다음 칸으로 넘어감 ex)50(o) 50 3(x) |
Scanner객체명.nextInt(); -공백이 없는 정수 값을 입력해주세요 |
sc.next(); 하늘 다람쥐 sc.nextIn(); => error발생 |
Scanner객체명.nextDouble(); -공백이 없는 실수 값을 입력해주세요. |
||
Scanner객체명.next(); -공백이 없는 문자열 값을 입력해주세요. ex)하늘(o), 하늘 다람쥐(x) |
||
내가 입력한 줄이 끝났음을 명시하는 문자 : [Enter] | Scanner객체명.nextLine(); -공백이 있는 한 줄 입력값을 받으세요. |
sc.nextLine() |
StringTokenizer |
||
문자열을 토큰 단위로 분해해 줌. 문자열, 구분자, 구분자포함, 미포함(디폴트-false) |
hasMoreTokens Token값이 있는지 확인 |
|
nextToken 다음 Token값을 가져오삼 가져올 값의 수도 확인해야함 |
package javautilex; import java.util.Scanner; class Main{ private String nm; private int age; private String gender; public String getNm() { return nm; } public void setNm(String nm) { this.nm = nm; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getGender() { return gender; } public void setGender(String gender) { this.gender = gender; } } public class Ex01 { public static void main(String[] args) { System.out.println("정보를 입력해주세요."); Scanner sc = new Scanner(System.in); Main m = new Main(); System.out.print("이름은: "); m.setNm(sc.nextLine()); // System.out.print("나이는: "); m.setAge(sc.nextInt()); System.out.print("성별은: "); m.setGender(sc.next()); System.out.println("\n\n입력하신 정보는 아래와 같습니다."); System.out.println("이름 :" + m.getNm()); System.out.println("나이 :" + m.getAge()); System.out.println("성별 :" + m.getGender()); } }
국적 , 대한민국 , 성명 , 홍길동 , 성별 , 남 , 주소 , 서울시 국적 대한민국 성명 홍길동 성별 남 주소 서울시
Arrays |
||
원본 훼손 일어남 | Arrays.fill(배열객체, 시작Index번호, 종료인덱스번호(-1), 채울값) | |
Arrays.sort(배열객체) = 오름차순으로 나열 | ||
Arrays.equals(배열객체1,배열객체2) - 배열객체 비교 | ||
System.arraycopy( 배열1, 배열1의 복사시작번호, 배열2, 배열2의 복사시작번호, 복사길이) //얕은 복사 : 동일 주소값에 있는 일부 값이 변경되면 같이 변경됨 //깊은 복사 주소값이 아닌 값만 복사 |
System.arraycopy(b, 1, c, 0, 5); arrayPrint("c : ", c); c : 1 2 3 4 5 |
binarySearch |
||
2진수로 탐색 | ||
<조건> 1. 오름차순 정렬이 되어야 함 2. 데이터를 n/2으로 나누어 비교 |
//a = {0 1 2 5 6 7 8 9 33 33}; System.out.println("33은 배열의 " + Arrays.binarySearch(a,33) + "번 요소"); 33은 배열의 8번 요소 |
|
배열에 없는 값을 탐색하는 경우 해당 값을 정렬시킨 후 상대적으로 값 출력(-1부터 셈) |
package javautilex; import java.util.Arrays; public class UtilEx01 { public static void main(String[] args) { int[] a = {0, 1, 2, 3, 4, 5, 6 ,7 ,8 ,9}; arrayPrint("초기 배열 : ", a); //해당 멤버 메소드 System.out.println(); //얕은 복사 : 동일 주소값에 있는 일부 값이 변경되면 같이 변경됨 //Arrays 원본 훼손 일어남 //Arrays.fill(배열객체, 시작인덱스번호, 종료인덱스번호(-1), 채울값) Arrays.fill(a, 3, 5, 33); // 배열의 3 ~ 4번 요소를 33으로 채움 arrayPrint("fill() 수행 후 : ", a); System.out.println(); //Arrays.sort(배열객체) = 오름차순으로 나열 Arrays.sort(a); arrayPrint("sort() 수행 후 : ", a); System.out.println(); //a = {0 1 2 5 6 7 8 9 33 33}; System.out.println("33은 배열의 " + Arrays.binarySearch(a,33) + "번 요소"); //binarySearch(배열객체, 찾을값) 2진수로 탐색 //<조건> 1. 오름차순 정렬이 되어야 함 //2. 데이터를 n/2으로 나누어 비교 System.out.println("-3은 배열의 " + Arrays.binarySearch(a,-3) + "번 요소"); //배열에 없는 값을 탐색하는 경우 해당 값을 정렬시킨 후 상대적으로 값 출력(-1부터 셈) System.out.println("53은 배열의 " + Arrays.binarySearch(a,53) + "번 요소"); System.out.println("4는 배열의 " + Arrays.binarySearch(a,4) + "번 요소"); System.out.println(); // for(int i=0; i<a.length ; i++) Arrays.fill(a, i, i+1, i); //(a, 0~0, 0) // Arrays.sort(a); // arrayPrint("sort() 수행 후 : ", a); // System.out.println("배열a와 배열b가 같은가 : " + Arrays.equals(a,b)); //true // System.out.println(); int[] b = {0, 1, 2, 3, 4, 5, 6 ,7 ,8 ,9}; //Arrays.equals(배열객체1,배열객체2) - 배열객체 비교 System.out.println("배열a와 배열b가 같은가 : " + Arrays.equals(a,b)); System.out.println(); int[] c = new int[5]; //System.arraycopy( 배열1, 배열1의 복사시작번호, 배열2, 배열2의 복사시작번호, 복사길이) //arraycopy 깊은 복사 주소값이 아닌 값만 복사 System.arraycopy(b, 1, c, 0, 5); arrayPrint("c : ", c); System.out.println(); b[3] = 15; arrayPrint("b : ", b); arrayPrint("c : ", c); System.out.println(); } static void arrayPrint(String s, int[] a) { //얕은 복사 System.out.print(s); for (int i: a) { System.out.print(i + " "); } System.out.println(); } //Method Overload // static void arrayPrint(String s, Book[] a) { // System.out.println(s); // for (Book i: a) { // i.showBookInfo(); // } // System.out.println(); // } }
초기 배열 : 0 1 2 3 4 5 6 7 8 9 fill() 수행 후 : 0 1 2 33 33 5 6 7 8 9 sort() 수행 후 : 0 1 2 5 6 7 8 9 33 33 33은 배열의 8번 요소 -3은 배열의 -1번 요소 53은 배열의 -11번 요소 4는 배열의 -4번 요소 배열a와 배열b가 같은가 : false c : 1 2 3 4 5 b : 0 1 2 15 4 5 6 7 8 9 c : 1 2 3 4 5
Book.java
package javautilex; public class Book implements Cloneable { private String bookName; private String author; public Book() {} public Book(String bookName, String author) { this.bookName = bookName; this.author = author; } public String getBookName() { return bookName; } public void setBookName(String bookName) { this.bookName = bookName; } public String getAuthor() { return author; } public void setAuthor(String author) { this.author = author; } public void showBookInfo() { System.out.println(bookName + ", " + author); } public Object clone() { Object o = null; try { o = super.clone(); } catch (CloneNotSupportedException e) { e.printStackTrace(); } return o; } }
package javautilex; public class UtilEx01_02 { public static void main(String[] args) { Book[] book1 = new Book[3]; Book[] book2 = new Book[3]; book1[0] = new Book("동백꽃필무렵", "김유정"); book1[1] = new Book("태백산맥", "조정래"); book1[2] = new Book("수난이대", "하근찬"); System.arraycopy(book1, 1, book2, 0, 2); book2[2] = new Book("진주목걸이", "모파상"); arrayPrint("(1) book1 : ", book1); arrayPrint("(1) book2 : ", book2); System.out.println(); book1[1].setBookName("운수좋은날"); book1[1].setAuthor("현진건"); arrayPrint("(2) book1 : ", book1); arrayPrint("(2) book2 : ", book2); System.out.println(); book2[2] = (Book) book1[1].clone(); //clone 새로운 공간을 복제 //다운캐스팅 arrayPrint("(3) book1 : ", book1); arrayPrint("(3) book2 : ", book2); System.out.println(); book1[1].setBookName("그많던싱아는누가다먹었을까"); book1[1].setAuthor("박완서"); arrayPrint("(4) book1 : ", book1); arrayPrint("(4) book2 : ", book2); System.out.println(); book2[0] = (Book) book2[2].clone(); arrayPrint("(5) book1 : ", book1); arrayPrint("(5) book2 : ", book2); System.out.println(); } static void arrayPrint(String s, Book[] a) { System.out.println(s); for(Book i : a) { i.showBookInfo(); } System.out.println(); } }
(1) book1 : 동백꽃필무렵, 김유정 태백산맥, 조정래 수난이대, 하근찬 (1) book2 : 태백산맥, 조정래 수난이대, 하근찬 진주목걸이, 모파상 (2) book1 : 동백꽃필무렵, 김유정 운수좋은날, 현진건 수난이대, 하근찬 (2) book2 : 운수좋은날, 현진건 수난이대, 하근찬 진주목걸이, 모파상 (3) book1 : 동백꽃필무렵, 김유정 운수좋은날, 현진건 수난이대, 하근찬 (3) book2 : 운수좋은날, 현진건 수난이대, 하근찬 운수좋은날, 현진건 (4) book1 : 동백꽃필무렵, 김유정 그많던싱아는누가다먹었을까, 박완서 수난이대, 하근찬 (4) book2 : 그많던싱아는누가다먹었을까, 박완서 수난이대, 하근찬 운수좋은날, 현진건 (5) book1 : 동백꽃필무렵, 김유정 그많던싱아는누가다먹었을까, 박완서 수난이대, 하근찬 (5) book2 : 운수좋은날, 현진건 수난이대, 하근찬 운수좋은날, 현진건
728x90
반응형
'[JAVA]' 카테고리의 다른 글
[JAVA] 제어자 (0) | 2024.01.03 |
---|---|
[16일차 오전] lotto Calendar SimpleDateFormat LocalDateTime DateTimeFormatter (0) | 2024.01.03 |
[15일차 오전] Math random split StringBuffer (0) | 2024.01.02 |
[14일차 오후] (0) | 2023.12.29 |
[14일차 오전] (0) | 2023.12.29 |