반응형
2023.03.09 수업 4일차
package chapter06;
import java.util.Arrays;
import java.util.Scanner;
public class newProblem_7class {
public static void main(String[] args) {
// 1-1. Scanner 클래스를 통해 6개의 공간을 가지는 int 형 배열에 값을 입력한다.
Scanner scan = new Scanner(System.in);
int arr[] = new int[6];
int num;
int idx=0;
System.out.println("숫자를 입력하세요.");
for (int i=0; i<arr.length; i++) {
num = scan.nextInt();
if (num <= 0) {
System.out.println("1 이상의 숫자를 입력하시오");
i--;
} else {
arr[idx] = num;
idx++;
}
}
System.out.println("1번 문제 답 : ");
System.out.println(Arrays.toString(arr));
// 1-2. 입력받은 배열의 숫자에 순차적으로 접근하여 홀수일 경우 음수로 바꿔준다.
for (int i=0; i<arr.length; i++) {
if (arr[i] % 2 == 1) {
arr[i] = -arr[i];
}
}
System.out.println("2번 문제 답 : ");
System.out.println(Arrays.toString(arr));
// 1-3. 배열 내 양수의 평균을 구한다. (소수점까지)
int sum = 0;
int count = 0;
for (int i=0; i<arr.length; i++) {
if (arr[i] > 0) {
sum += arr[i];
count++;
}
}
System.out.println("3번 문제 답 : ");
System.out.println("양수 값 평균 : " + (double) sum / count);
// 1-4. 배열 내 음수의 개수를 구한다.
System.out.println("4번 문제 답 : ");
System.out.println("음수값의 개수 : " + (arr.length-count));
// 1-5. 배열 내 값을 재정렬한다. (양수, 음수, 양수, 음수 반복. 순서를 그대로)
int plusArray[] = new int[arr.length];
int minusArray[] = new int[arr.length];
int index = 0;
int index2 = 0;
for(int i=0; i<arr.length; i++) {
if(arr[i] > 0) {
plusArray[index] = arr[i];
index++;
} else if(arr[i] < 0) {
minusArray[index2] = arr[i];
index2++;
}
}
int newArray[] = new int[arr.length];
index = 0;
for(int i=0; i<arr.length; i++) {
if(plusArray[i] != 0) {
newArray[index++] = plusArray[i];
}
if(minusArray[i] != 0) {
newArray[index++] = minusArray[i];
}
}
System.out.println("5번 문제 답 : ");
System.out.println(Arrays.toString(newArray));
// 1-6. 배열 내에서 2개 값의 수의 차가 가장 큰 경우를 구하라.
// 단, 음수는 절대값을 씌우고 (양수) 계산 함.
// ex) 가장 큰 수의 20과 작은 수인 -3 (계산은 3으로) 두 개를 구함. -> 17
for (int i = 0; i < arr.length; i++) {
arr[i] = Math.abs(arr[i]);
}
System.out.println("6번 문제 답 : ");
Arrays.sort(arr);
System.out.println("절대값이 가장 큰 수 : " + arr[arr.length-1]);
System.out.println("절대값이 가장 작은 수 : " + arr[0]);
System.out.println("값의 차이 : " + (arr[arr.length-1] - arr[0]));
}
}
2023.03.09. 수업4일차
반응형
'Java' 카테고리의 다른 글
[JAVA] 오라클 DB연결 (0) | 2023.04.04 |
---|---|
[Java] 다차원배열 (0) | 2023.03.10 |
[Java] 배열에서 중복 값 제거하기 (0) | 2023.03.09 |
[Java] 버블 정렬 알고리즘 (0) | 2023.03.08 |
[Java] 선택 정렬 알고리즘 (0) | 2023.03.08 |