학원/실습

*8일차 실습

pringspring 2022. 1. 29. 13:36

[문제 1]

길이가 100인 배열을 선언하고 1부터 100가지의 값을 순서대로 배열 인덱스에 넣어 그 값을 출력

package kh.java.array;

public class Test1 {
	public static void main(String[] args) {
		Test1 test = new Test1();
		test.test();
	}

	public void test() {
		int[] arr = new int[100];

		for(int i =0 ; i<arr.length ; i++) {
			arr[i] = i+1;
			System.out.println(arr[i]);
		}
	}
}

 

 

[문제2]

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

package kh.java.array;

public class Test2 {
	public static void main(String[] args) {
		Test2 test = new Test2();
		test.test();
	}

	public void test() {
		String arr[]  = new String[5];

		arr[0] = "딸기";
		arr[1] = "복숭아";
		arr[2] = "키위";
		arr[3] = "사과";
		arr[4] = "바나나";

		System.out.println(arr[4]);
	}
}

 

[문제 3]

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

package kh.java.array;

import java.util.Scanner;

public class Test3 {

	public static void main(String[] args) {
		Test3 test = new Test3();
		test.test();
	}

	public void test() {
		Scanner sc = new Scanner(System.in);
		String word = " ";
		int cnt = 0;
		char search=' ';

		System.out.print("입력값:    ");
		word = sc.next();
		System.out.print("검색값:    ");
		search = sc.next().charAt(0);
		char sch[] = new char[word.length()];

		for(int i = 0; i<sch.length;  i++) {
			sch[i] = word.charAt(i);
			if(sch[i]==search) {
				cnt++;
			}
		}
		System.out.printf("입력하신 문자열 %s 에서 찾으시는 문자 %c는 %d개입니다.%n",word,search,cnt);
	}
}

 

[문제 4]

a.전화번호를 입력받고 11자리의 문자형배열을 저장한 후 가운데 4자리를 *로 가리기

(원본 배열값은 변경없이 배열 복사본으로 변경)

b.배열복사없이 문자열 차원에 가운데 4자리를 교체

package kh.java.array;

import java.util.Scanner;

public class Test4 {
	public static void main(String[] args) {
		Test4 test = new Test4();
		test.test1();
		test.test2();
	}
	
	public void test2() {
		Scanner sc =new Scanner(System.in);
		String phone = "  ";
		System.out.print("전화번호 입력: ");
		phone  = sc.next();
		
		String phone2 = phone.substring(0,3) + "****" + phone.substring(7,phone.length());
		System.out.println(phone2);
	}
	
	
	public void test1() {
		Scanner sc = new Scanner(System.in);
		String phone = " ";
		System.out.print("전화번호 입력 :   ");
		phone = sc.next();
		
		char str[] = new char[phone.length()];
		
		for(int i=0; i<str.length;i++) {
			str[i]=phone.charAt(i);
		}
		char str2[] = str.clone();
		
		for(int i =0 ; i< str2.length; i++) {
			if(i>=3 && i<=6) {
				str2[i]= '*';
			}
			System.out.print(str2[i]);
		}
	}

}

 

[문제 5]

주민등록번호 성별자리 이후부터 *로 가리기(원본 배열값은 변경없이 배열 복사본으로 변경)

package kh.java.array;

import java.util.Scanner;

public class Test5 {

	public static void main(String[] args) {
		Test5 test = new Test5();
		test.test();
	}
	public void test() {
		Scanner sc = new Scanner(System.in);
		String num = " ";
		
		System.out.print("주민등록번호 입력:  ");
		num = sc.next();

		char str[] = new char[num.length()];
		for(int i=0; i<str.length;i++) {
			str[i]=num.charAt(i);
		}
		char str2[] = str.clone();

		for(int i =0; i<str2.length;i++) {
			if(8<=i) {
				str2[i] = '*';
			}
			System.out.print(str2[i]);
		}
	}
}

 

[문제 6]

배열의 크기로 홀수인 양의 정수를 입력받아 배열 생성.

배열 중간까지는 1부터 1씩 증가하여 오름차순, 중간 이후부터 끝까지 1씩 감소하여 내림차순을 넣어 출력하는 프로그램 작성

package kh.java.array;

import java.util.Scanner;

public class Test6 {

	public static void main(String[] args) {
		Test6 test = new Test6();
		test.test();
	}
	
	public void test() {
		Scanner sc = new Scanner(System.in);
		System.out.print("홀수인 양의 정수를 하나 입력하세요 ==>  ");
		int num =sc.nextInt();
		
		int arr[] = new int[num];
		System.out.print("[");
		for(int i=0; i<num;i++) {
			arr[i] = i+1;
			if(i>(num/2)) {
				arr[i]=arr[(num-1)-i];
			}
			System.out.print(arr[i]);
			if(i != (num-1)) {
				System.out.print(", "+" ");
			}
		}System.out.println("]");
	}

}