인덱스를 비교하여, 큰 수 출력하기
public class Main {
public static void main(String[] args) {
int[] arr = { 34, 65, 12, 34, 56, 100, 54, 21 };
int a = arr[0];
for (int i = 0; i < arr.length; i++) {
if (arr[i] > a) {
a = arr[i];
}
}
System.out.println("가장 큰 수 : " + a);
}
}
- a 변수에 arr 배열의 첫번째 값을 저장한다.
- 반복을 하는 동안, arr의 인덱스와 a 값을 비교하고,
- 그 값이 a보다 클 때 a에 다시 저장해준다.
배열 속의 동일한 값 찾기
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int[] arr = {54,23,12,76,56,45,1,2,3};
boolean bool = false;
System.out.print("값을 입력하세요 : ");
int a = sc.nextInt();
for(int i=0; i<arr.length; i++) {
if(a == arr[i]) {
System.out.println(a + " 는 배열" + i + " 번 째에 있습니다." );
bool = true;
break;
}
}
if(bool == false) {
System.out.println("일차하는 값이 없습니다.");
}
}
}
- 입력한 값과 배열 내 동일 인덱스를 찾는 문제이다.
- 주의할 점으로는 반목문 내에 else를 사용하여, 찾지 못했을 경우를 구할 때
- 반복할 횟 수만큼 출력이 되기 때문에
- boolean 함수를 사용하여, 찾을 경우를 True로 지정하고 틀릴 경우 false로 지정하여
- 따로 출력하도록 하는 게 중요하다.
배열의 크기와 인덱스를 추가하여, 그 중 최댓값과 최솟값을 구하는 문제
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
int[] b = new int[a];
for (int i = 0; i < b.length; i++) {
b[i] = sc.nextInt();
}
int c = b[0];
int d = b[0];
for (int i = 0; i < b.length; i++) {
if (b[i] > c) {
c = b[i];
}
if (b[i] < d) {
d = b[i];
}
}
System.out.println(d + " " + c);
}
}
- 배열의 크기와 배열의 인덱스를 입력받아 최댓값과 최솟값을 구하는 문제이다.
- Array.sort 함수를 사용하여, 정렬 후 가장 큰 값을 출력하는 방법도 있지만
- 조금 더 일차원적으로 접근하여 문제를 풀어보았다.
- 주의 할 점으로는 비교값을 담는 변수를 배열이 지정되기 전에 선언한다면
- 해당 초기값은 0이 저장되기 때문에 배열을 입력한 이후 선언하는 것이 중요하다.
728x90
'Programming > Java' 카테고리의 다른 글
[JAVA] 배열을 이용한 문제풀이 (2) | 2023.11.03 |
---|---|
[JAVA] 정렬과 복사 (0) | 2023.11.02 |
[JAVA] 탈출문 (1) | 2023.11.01 |
[JAVA] 소수(Prime Number) 구하기 (1) | 2023.10.31 |
반복문을 이용한 별만들기 (0) | 2023.10.31 |