728x90
replaceAll( ) 문자열 치환

 

대상 문자열을 원하는 문자값으로 변환하는 메소드

 

ex)

String name = "철수 영희 민수";

name = name.replaceAll("철수", "미영");		//"기존 문자열","변환할 문자값"

System.out.println(name);

[실행결과]

미영 영희 민수

'JAVA' 카테고리의 다른 글

valueOf  (0) 2021.07.09
equals 메소드와 == 연산자  (0) 2021.07.09
split  (0) 2021.07.09
다중 배열 (MultiArray)  (0) 2021.07.08
자주 사용하는 단축키  (0) 2021.07.08
728x90
split( ) 문자열 분할 메소드

 

ex)

String str = "문자열&가&나&다";
String[] sArr = str.split("&");

System.out.println(sArr[0]);			
System.out.println(sArr[sArr.length-1]);	
System.out.println(Arrays.toString(sArr));

[실행결과]

문자열

[문자열, 가, 나, 다]

'JAVA' 카테고리의 다른 글

equals 메소드와 == 연산자  (0) 2021.07.09
replaceAll  (0) 2021.07.09
다중 배열 (MultiArray)  (0) 2021.07.08
자주 사용하는 단축키  (0) 2021.07.08
for each  (0) 2021.07.06
728x90
다중 배열  [ ] [ ]

 

동일한 타입의 데이터 여러 개를 묶어 관리하기 위해 사용

 

ex)

자료형[][] multiArray = new 자료형[행][열];

 

int[][] multiArr = new int[2][4];

for (int i = 0; i < multiArr.length; i++) {
	for (int j = 0; j < multiArr[i].length; j++) {
		System.out.print(multiArr[i][j] + " ");		
	}
	System.out.println(" ");
}

System.out.println(Arrays.toString(multiArr));			//주소값 출력

for (int i = 0; i < multiArr.length; i++) {
	System.out.println(Arrays.toString(multiArr[i]));	//multiarr01의 i행의 값 출력
}

System.out.println("==========");

for (int[] is : multiArr) {
	System.out.println(Arrays.toString(is));		//forEach 사용
}

[실행결과]

0 0 0 0  
0 0 0 0  
[[I@7637f22, [I@4926097b]
[0, 0, 0, 0]
[0, 0, 0, 0]
==========
[0, 0, 0, 0]
[0, 0, 0, 0]


예제 1.

<값 대입하기>

int[][] multiArr = new int[2][4];

for (int i = 0; i < multiArr.length; i++) {			//2번 반복
	for (int j = 0; j < multiArr[i].length; j++) {		//4번 반복
		multiArr[i][j] = (i * 4) + j + 1;
	}
	System.out.println(Arrays.toString(multiArr[i]));	
}

[실행결과]

[1, 2, 3, 4]
[5, 6, 7, 8]

예제 2.

<array와 multiArray, forEach 출력 비교>

  • 1 ~ 12까지의 정수를 대입
  • multiArray는 3행 4열의 배열로 선언
int[] arr = new int[12];
int[][] multiArr = new int[3][4];

int num = 1;
int num2 = 1;

for (int i = 0; i < arr.length; i++) {
	arr[i] = num++;
}
System.out.println(Arrays.toString(arr));			//① 1 ~ 12 까지의 값 출력

for (int i = 0; i < multiArr.length; i++) {
	for (int j = 0; j < multiArr[i].length; j++) {
		multiArr[i][j] = num2++;
	}
	System.out.println(Arrays.toString(multiArr[i]));	//② 3행 4열의 1 ~ 12 까지의 값 출력
}

for (int[] is : multiArr) {
	System.out.print(Arrays.toString(is));			//③ 1 ~ 12 까지의 값 출력
}
		
System.out.println("");

for (int[] is : multiArr) {
	for (int i : is) {					//이중배열이기 때문에 forEach 두번 사용
		System.out.print(i + " ");			//④ 1 ~ 12 까지의 값 출력
	}
}

[실행결과]

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
[1, 2, 3, 4]
[5, 6, 7, 8]
[9, 10, 11, 12]
[1, 2, 3, 4][5, 6, 7, 8][9, 10, 11, 12]
1 2 3 4 5 6 7 8 9 10 11 12 

예제 3.

<피보나치 수열>

  • 1부터 시작하는 길이가 22인 피보나치 수열 만들기
  • 1, 2는 기본으로 주어진다.
int[] num = new int[22];
num[0] = 1;
num[1] = 2;
		
for (int i = 2; i < num.length; i++) {
	num[i] = num[i - 2] + num[i - 1];
}
System.out.println(Arrays.toString(num));

[실행결과]

[1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946, 17711, 28657]

예제 4.

<국어, 수학, 영어 시험의 총점, 평균, 등급 구하기>

  • 학생의 수와 이름 입력받기
  • MultiArray, switch, for, if 사용
Scanner sc = new Scanner(System.in);
System.out.print("학생 수를 입력하세요. : ");
int input = sc.nextInt();

int[][] student = new int[input][4];
String[] name = new String[input];
String[] subject = {"korean", "math", "english"};
char[] grade = new char[input];
double[] avg = new double[input];
		
for (int i = 0; i < name.length; i++) {
	System.out.print("이름을 입력하세요. : ");
	name[i] = sc.next();
	for (int j = 0; j < subject.length; j++) {				
		do {
			System.out.println(subject[j] + "점수를 입력하세요. : ");
			student[i][j] = sc.nextInt();
		} while (student[i][j] < 0 || student[i][j] > 100);
	}
    
	student[i][3] = student[i][0] + student[i][1] + student[i][2];			//총점
	avg[i] = student[i][3] / 3.0;							//평균
	switch ((int) (avg[i] / 10)) {							//등급
	case 10:
	case 9:
		grade[i] = 'A';
		break;
		
	case 8:
		grade[i] = 'B';
		break;
		
	case 7:
		grade[i] = 'C';
		break;
		
	case 6:
		grade[i] = 'D';
		break;
		
	default:
		grade[i] = 'F';
		break;
	}
}

System.out.println("┏━━━━━━┳━━━━━━┳━━━━━━┳━━━━━━┳━━━━━━┳━━━━━━┳━━━━━━┓");
System.out.println("┃ 이름 ┃ 국어 ┃ 수학 ┃ 영어 ┃ 총점 ┃ 평균 ┃ 등급 ┃");
System.out.println("┣━━━━━━╋━━━━━━╋━━━━━━╋━━━━━━╋━━━━━━╋━━━━━━╋━━━━━━┫");
for (int i = 0; i < name.length; i++) {
	System.out.printf ("┃%3.2s ┃ %3d  ┃ %3d  ┃ %3d  ┃  %3d ┃ %.2f┃  %2c  ┃\n", 	//① printf
		name[i], student[i][0], student[i][1], student[i][2], student[i][3],avg[i], grade[i]);
	}
System.out.println("┗━━━━━━┻━━━━━━┻━━━━━━┻━━━━━━┻━━━━━━┻━━━━━━┻━━━━━━┛");

  • %d : 정수형 (double)
    %f : 실수형 (float)
    %c : 문자형 (char)
    %s3.2 : 3칸 할당 2개만 표시하고 나머지는 삭제  ex) 홍길동 이면 홍길
    %.2f : 소수점 아래 2자리  ex) 60.123이면 60.12
    %4d : 4칸 할당해서 찍음  ex) 600이면 _600
    %S : 모두 대문자처리

[실행결과]

학생 수를 입력하세요. : 3
이름을 입력하세요. : 철수
korean점수를 입력하세요. : 
98
math점수를 입력하세요. : 
97
english점수를 입력하세요. : 
100
이름을 입력하세요. : 영희
korean점수를 입력하세요. : 
80
math점수를 입력하세요. : 
88
english점수를 입력하세요. : 
85
이름을 입력하세요. : 민수
korean점수를 입력하세요. : 
74
math점수를 입력하세요. : 
60
english점수를 입력하세요. : 
88

예제 5.

<무작위 배열>

  • 중복되는 수 없이 3 x 3인 배열 만들기
    ex) [9, 7, 3]
          [5, 1, 4]
          [8, 2, 6]
int[][] three = new int [3][3]; 			//초기값 = 0
		
for (int i = 1; i < 10; i++) { 				//숫자 1 ~ 9
	int r1 = (int) (Math.random() * 3);		//index 0, 1, 2
	int r2 = (int) (Math.random() * 3);		//index 0, 1, 2
	if (three[r1][r2] == 0) {				
		three[r1][r2] = i;
	}else {
		i--;
	}
}
for (int[] is : three) {
	System.out.println(Arrays.toString(is));
}

[실행결과]

[5, 9, 3]
[2, 6, 4]
[7, 8, 1]

예제 5 - 1.

<무작위 배열>

int[][] what = new int[3][3];

for (int i = 0; i < what.length; i++) {
	for (int j = 0; j < what[i].length; j++) {
		
		int random = (int) (Math.random() * 9 + 1);
		boolean ch = true;
				
		F: for (int k = 0; k < what.length; k++) {			
			for (int k2 = 0; k2 < what[i].length; k2++) {
				if (what[k][k2] != 0 && random == what[k][k2]) {
					j--;
					ch = false;
					break F;					
				}
			}
		}
		if(ch) what[i][j] = random;			//ch가 true 일 때
	}
}
for (int[] js : what) {
	System.out.println(Arrays.toString(js));
}

[실행결과]

[7, 4, 5]
[8, 9, 2]
[6, 3, 1]

'JAVA' 카테고리의 다른 글

replaceAll  (0) 2021.07.09
split  (0) 2021.07.09
자주 사용하는 단축키  (0) 2021.07.08
for each  (0) 2021.07.06
배열 (Array)  (0) 2021.07.06
728x90
  • Ctrl + space bar : 입력 보조도구 호출
    ex) mian + Ctrl + space bar : public static void main(String[] args) { }
    ex) syso + Ctrl + space bar : System.out.println( );

  • Ctrl + F11 : 프로그램 실행(run)

  • Ctrl + Shift + L : 단축키 목록

  • Ctrl + Alt + 방향키 ↓ : 한 줄 복사 ( 화면 뒤집히면 바탕화면 > 우클릭 > 그래픽 속성 > 옵션 및 지원 > 바로가기 키 관리 사용안함)

  • Alt + 방향키 ↓ : 한 줄 이동

  • Ctrl + D : 한 줄 지우기

  • Ctrl + Shift + F : 들여쓰기 자동 정렬 (에러가 없는 경우)

  • Ctrl + Shift + O : 자동 import

  • Ctrl + Shift + C : 영역 주석처리
  • Ctrl + / : 영역 주석처리

  • Ctrl + = : 화면 확대

  • Ctrl + - : 화면 축소

  • Shift + 방향키 : 영역 드래그

  • Alt + Shift + R : 변수명 한번에 바꾸기
  • Ctrl + 변수 클릭 : 변수가 최초 선언된 위치로 이동

'JAVA' 카테고리의 다른 글

split  (0) 2021.07.09
다중 배열 (MultiArray)  (0) 2021.07.08
for each  (0) 2021.07.06
배열 (Array)  (0) 2021.07.06
Do While  (0) 2021.07.06

+ Recent posts