정수 5개를 입력받아 배열을 초기화하고 검색할 정수를 하나 입력받아 배열에서 같은 수가 있는 인덱스를 찾아 출력 배열에 같은 수가 없을 경우 "일치하는 값이 존재하지 않습니다" 출력
입력 0 : 5
입력 1 : 8
입력 2 : 9
입력 3 : 10
입력 4 : 4
검색할 값 : 8
인덱스 : 1
(1) 내 풀이
Scanner sc = new Scanner(System.in);
int[] arr = new int[5];
boolean flag = false;
for(int i = 0; i < arr.length; i++) {
System.out.printf("입력 %d : ", i);
int input = sc.nextInt();
arr[i] = input;
}
System.out.print("검색할 값 : ");
int input2 = sc.nextInt();
for(int i = 0; i < arr.length; i++) {
if(input2 == arr[i]) {
System.out.println("인덱스 : " + i);
flag = true;
}
}
if(!flag) {
System.out.println("일치하는 값이 존재하지 않습니다.");
}
(2) 다른 풀이
Scanner sc = new Scanner(System.in);
int[] arr = new int[5];
for(int i=0; i<arr.length; i++) {
System.out.print("입력 " + i + " : ");
arr[i] = sc.nextInt();
// 입력받을 값을 바로 배열의 각 인덱스에 대입하는 코드 작성
}
System.out.print("검색할 값 : ");
int input = sc.nextInt();
boolean flag = false;
System.out.print("인덱스 : " );
// "인덱스 : "까지는 먼저 출력을 해 놓고
for(int i=0; i<arr.length; i++) {
if(arr[i] == input) {
System.out.print(i + " ");
// 그 이후 for문을 돌려 해당하는 인덱스 번호를 순서대로 출력하기
flag = true;
}
}
if(!flag) {
System.out.println("일치하는 값이 존재하지 않습니다.");
}
문자열을 입력받아 문자 하나하나를 배열에 넣고 검색할 문자가 문자열에 몇 개 들어가 있는지 개수와 몇 번째 인덱스에 위치하는지 인덱스를 출력하세요.
문자열 : application
문자 : i
application에 i가 존재하는 위치(인덱스) : 4 8
i 개수 : 2
(1) 풀이
Scanner sc = new Scanner(System.in);
System.out.print("문자열 : ");
String input = sc.nextLine();
System.out.print("문자 : ");
char ch = sc.nextLine().charAt(0); // 입력받은 문자열에서 0번 인덱스 문자를 반환
// String -> char
char[] arr = new char[input.length()]; // 입력받은 문자열 길이만큼 배열 생성
int count = 0; // input에 일치하는 ch가 몇 개 있는지 카운트하는 변수
System.out.print(input + "에" + ch + "가 존재하는 위치(인덱스) : " + i);
for(int i = 0; i < arr.length; i++) {
// 배열 대입
arr[i] = input.charAt(i);
// 입력받은 문자열에서 i번째 인덱스 문자를 arr[i]에 대입
// 검색 + 카운트
if(ch == arr[i]) { // 검색 조건
count++;
System.out.print(i + " ");
}
}
System.out.println("\n" + ch + " 개수 : " + count);
사용자가 배열의 길이를 직접 입력하여 그 값만큼 정수형 배열을 선언 및 할당하고 배열의 크기만큼 사용자가 직접 값을 입력하여 각각의 인덱스에 값을 초기화하세요. 그리고 배열 전체 값을 나열하고 각 인덱스에 저장된 값들의 합을 출력하세요.
정수 : 5
배열 0번째 인덱스에 넣을 값 : 4
배열 1번째 인덱스에 넣을 값 : -4
배열 2번째 인덱스에 넣을 값 : 3
배열 3번째 인덱스에 넣을 값 : -3
배열 4번째 인덱스에 넣을 값 : 2
4 -4 3 -3 2
총합 : 2
(1) 내 풀이
Scanner sc = new Scanner(System.in);
System.out.print("정수 : ");
int input = sc.nextInt();
int sum = 0;
int[] arr = new int[input];
for(int i = 0; i < arr.length; i++) {
System.out.print("배열 " + i + "번째 인덱스에 넣을 값 : ");
int input2 = sc.nextInt();
arr[i] = input2;
sum += arr[i];
}
for(int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + " ");
}
System.out.println();
System.out.println("총 합 : " + sum);
(2) 다른 풀이
Scanner sc = new Scanner(System.in);
System.out.print("정수 : ");
int input = sc.nextInt();
int[] arr = new int[input];
int sum = 0;
String value = ""; // 문자열을 저장할 변수 value를 선언하고 빈 문자열로 초기화
for(int i=0; i<arr.length; i++) {
System.out.print("배열 " + i + "번째 인덱스에 넣을 값 : ");
arr[i] = sc.nextInt();
sum += arr[i];
value += arr[i] + " ";
}
System.out.println(value);
System.out.println("총 합 : " + sum);
주민등록번호 번호를 입력받아 성별을 나타내는 숫자 이후부터 *로 가리고 출력하세요.
주민등록번호(-포함) : 123456-1234567
123456-1******
(1) 풀이
Scanner sc = new Scanner(System.in);
System.out.print("주민등록번호(-포함) : ");
String input = sc.nextLine();
char[] arr = new char[input.length()];
for(int i = 0; i < arr.length; i++) {
arr[i] = input.charAt(i);
if(i >= 8) { // 8번 인덱스 이상부터는 *로 출력
arr[i] = '*';
}
System.out.print(arr[i]);
}