Inflearn コミュニティ Q&A
ArrayExRef6 코드 질문있습니다.
作成
·
126
·
編集済み
0
[질문 내용]
여기에 질문 내용을 남겨주세요.
package study.array.ex;
import java.util.Scanner;
public class ArrayExRef6 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("입력받을 숫자의 개수를 입력하세요:");
int[] numbers = new int[scanner.nextInt()];
System.out.println(numbers.length +"개의 정수를 입력하세요:");
// 입력
for (int i = 0; i < numbers.length; i++) {
numbers[i] = scanner.nextInt();
}
int min, max;
min = max = numbers[0];
// 가장 작은 정수
for (int number : numbers) {
if(min > number) min = number;
}
// 가장 큰 정수
for (int number : numbers) {
if(max < number) max = number;
}
// 출력
System.out.println("가장 작은 정수: " + min);
System.out.println("가장 큰 정수: " + max);
}
}
선생님의 기존 코드와 비교했을때 이런 로직으로 짜는것은 가독성이나 효율성(비효율적인 반복문 사용)이 떨어지는 코드일까요??
java객체지향
クイズ
66%が間違えています。挑戦してみましょう!
배열을 사용하는 주된 이유는 무엇일까요?
변수 이름을 다양하게 만들 수 있어서
동일 타입 변수를 효율적으로 관리하기 위해
코드 실행 속도가 항상 빨라져서
어떤 타입의 변수든 함께 저장 가능해서
回答 1
0
우연히 보게 되어 댓글 남깁니다!
추후 스트림을 과정을 배우게 되면
int numbers[] 값을 Arrays.stream으로 이용해서 스트림으로 한다음 해당 배열의 min, max값을 가져올 수 있습니다.
.getAsInt()는 int 변수에 담기 위해 사용했습니다.
int minValue = Arrays.stream(numbers).min().getAsInt();
int maxValue = Arrays.stream(numbers).max().getAsInt();
System.out.printf("가장 작은 정수: %d \n", minValue);
System.out.printf("가장 큰 정수: %d", maxValue);




