학원/실습
*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("]");
}
}