본문 바로가기
Java/└ [JAVA] Practice

[실습문제] 배열

by 박채니 2022. 4. 13.

안녕하세요, 코린이의 코딩 학습기 채니 입니다.

 

개인 포스팅용으로 내용에 오류 및 잘못된 정보가 있을 수 있습니다.


@실습문제1

길이가 100인 배열을 선언하고 1부터 100까지의 값을 순서대로 배열 인덱스에 넣어 그 값을 출력하는 코드를 작성하시오.

public void test() {
	int[] intArr = new int[100];
		
	for(int i = 0; i < intArr.length; i++) {
		intArr[i] = i+1;
		System.out.print(intArr[i] + " ");
	}
}

@콘솔출력값
1 2 3 4 5 6 7 8 9 10 ... 93 94 95 96 97 98 99 100

 

@실습문제2

길이가 5인 String 배열을 선언하고, 
“딸기”, ”복숭아”, ”키위”, ”사과” , ”바나나” 로 초기화를 한 후, 
배열 인덱스를 활용해서 바나나를 출력해 보세요

public void test() {
	String[] strArr = new String[] {"딸기", "복숭아", "키위", "사과", "바나나"};
	System.out.println(strArr[4]);
}

@콘솔출력값
바나나

 

@실습문제3

문자열을 하나 입력 받아 문자배열에 넣고 검색할 문자를 하나 입력 받아 검색 문자가 문자열에 몇 개인지 개수를 출력하는 프로그램을 작성하세요.

예) 입력값 : helloworld
검색값 :ㅣ
출력 : 입력하신 문자열 helloworld에서 찾으시는 문자 l은 3개 입니다.

public void test() {
	Scanner sc = new Scanner(System.in);
	System.out.print("> 입력값 : ");
	String input = sc.next();
	System.out.print("> 검색값 : ");
	char choose = sc.next().charAt(0);
		
	char[] chArr = new char[input.length()];
		
	int count = 0;
	for(int i = 0; i < chArr.length; i++) {
		chArr[i] = input.charAt(i);
		if(chArr[i] == choose) count++;
	}
	System.out.printf("입력하신 문자열 %s에서 찾으시는 문자 %c은 %d개 입니다.\n", input, choose, count);
}

@콘솔출력값
> 입력값 : helloworld
> 검색값 : l
입력하신 문자열 helloworld에서 찾으시는 문자 l은 3개 입니다.

 

@실습문제4

사용자의 전화번호를 입력받고, 11자리의 문자형배열에 저장한후,  가운데 4자리를 *로 가리기.  
단, 원본 배열값은 변경 없이 배열 복사본으로 변경하세요
 
    힌트) 복사방법
   - for문이용 1:1대입
   - System.arraycopy() 매소드 이용
   - clone() 매소드 이용

public void test4() {
	Scanner sc = new Scanner(System.in);
	System.out.print("> 전화번호를 입력하세요 : ");
	String phoneNum = sc.next();
		
	char[] phoneArr = new char[phoneNum.length()];
	for(int i = 0; i < phoneArr.length; i++) {
		phoneArr[i] = phoneNum.charAt(i);
	}
		
	char[] copyPhoneArr = new char[phoneArr.length];
	System.arraycopy(phoneArr, 0, copyPhoneArr, 0, phoneArr.length);
		
	for(int i = 0; i < copyPhoneArr.length; i++) {
		if(i > 2 && i < 7)
			copyPhoneArr[i] = '*';
		System.out.print(copyPhoneArr[i]);
	}
}

@콘솔출력값
> 전화번호를 입력하세요 : 01012345678
010****5678


위문제를 배열복사없이 문자열차원에 가운데 4자리를 교체해보자.
* java.lang.String.substring(beginIndex, endIndex) 메소드 찾아볼것!
* 문자열은 직접 수정이 불가하므로, 특정자리의 문자열을 가져와 처리해야한다.

public void test5() {
	Scanner sc = new Scanner(System.in);
	System.out.print("> 전화번호를 입력하세요 : ");
	String phoneNum = sc.next();
		
	String maskingNum = phoneNum.substring(0, 3) + "****" + phoneNum.substring(7);
	System.out.println(maskingNum);
}

@콘솔출력값
> 전화번호를 입력하세요 : 01012345678
010****5678

'Java > └ [JAVA] Practice' 카테고리의 다른 글

UML  (0) 2022.04.13
[실습문제] 중첩 반복문, 2차원 배열  (0) 2022.04.13
[실습문제] 반복문, 분기문  (0) 2022.04.11
[실습문제] switch, for문  (0) 2022.03.15
[실습문제] 난수, 조건문  (0) 2022.03.10