-
※ Java의 Naming Rule에 맞는 것을 모두 고르시오
Abc, 자바, 1variable, $variable, variable_, #variable, true, False 더보기Abc, 자바, $variable, variable_, False
영어, 한글 모두 가능하지만 한글은 지양하는 편.
특수문자는 $, _만 가능하며 숫자로 시작하면 안된다.(1variable)
java에서 이미 사용하고 있는 Naming의 경우 사용할 수 없다(true)
※ 다음 중, 형변환을 생략할 수 있는 것을 2개 고르시오
byte b = 10; float fl = 3; int i = 100; long l = 1000L; ① i = (int) b; ② fl = (float) b; ③ fl = (float) 3.14; ④ short s = (short) fl;
더보기① i = (int) b; ③ fl = (float) 3.14;
byte -> short -> int -> long -> float -> double 순으로 자동 형변환이 된다.
※ 다음의 문장을 에러 없이 처리되도록 완성하시오.
byte b1 = 12;
byte b2 = 15;
( ) sum = b1 + b2;
더보기int
byte, short, char는 무조건 산술연산 시 int로 형변환이 되어 계산을 한다.
※ 다음 실행의 결과값은?
byte b = 125;
b += 10;
더보기-121
byte의 범위는 -128 ~ 127이다.
125 + 10 = 135로 범위에서 벗어나기 때문에 overflow가 일어난다.
127을 넘어서면 -128로 돌아가 답은 -121
※ 다음 문장을 import 선언하지 않고 사용할 수 있는 구문으로 변경하시오
import java.util.Scanner;
Scanner sc = new Scanner(System.in);
더보기java.util.Scanner sc = new java.util.Scanner(System.in);
패키지명까지가 원래 클래스명이기 때문에 경로까지 모두 적으면 따로 import할 필요 없이 사용 가능하다.
※ 2차원 배열에 들어 있는 데이터 중 가장 큰 값과 작은 값을 구해 출력하시오.
int[][] array = {{12, 41, 36, 56}, {82, 10, 12, 61}, {14, 16, 18, 78}, {45, 26, 72, 23}} 더보기12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849public void test() {int[][] array = {{12,41,36,56},{82,10,12,61},{14,16,18,78},{45,26,72,23}};int biggest = 0;int smallest = 0;for(int i = 0; i < array.length; i++) {int x = array[i].length - 1;for(int j = 1; j < array[i].length; j++) {if(array[i][0] > array[i][j])changeSmall(array, i, j);if(array[i][x] < array[i][j])changeBig(array, i, j);}if(i == 0) {biggest = array[i][x];smallest = array[i][0];}else {if(array[i][x] > biggest)biggest = array[i][x];if(array[i][0] < smallest)smallest = array[i][0];}}System.out.println("가장 큰 값 : " + biggest);System.out.println("가장 작은 값 : " + smallest);}public void changeSmall(int[][] array, int i, int j) {int temp = 0;temp = array[i][0];array[i][0] = array[i][j];array[i][j] = temp;}public void changeBig(int[][] array, int i, int j) {int temp = 0;temp = array[i][array[i].length - 1];array[i][array[i].length - 1] = array[i][j];array[i][j] = temp;}cs 어떻게 이렇게 복잡하고 더러울 수가...^^
이 날 전에 정렬 알고리즘을 배워서 알고리즘을 써야한다는 생각에 사로잡혀 있었다.
배열 맨 앞에 작은 값을 두고, 배열 맨 뒤에 큰 값을 두도록 해서 크기 비교를 하고 그 값을 다음 배열로 또 가져가고...
그냥 2차원 배열이지만 1차원 배열처럼 생각해서 값 비교만 하면 되는 문제였는데 돌아돌아 복잡한 코드를 굳이굳이 짜서 풀었다.
더보기123456789101112131415161718192021222324public static void main(String[] args) {int[][] array = {{12, 41, 36, 56},{82, 10, 12, 61},{14, 16, 18, 78},{45, 26, 72, 23}};int max = Integer.MIN_VALUE;int min = Integer.MAX_VALUE;for(int i = 0; i < array.length; i++){for(int j = 0; j < array[i].length; j++){if(max < array[i][j])max = array[i][j];if(min > array[i][j])min = array[i][j];}}System.out.println("가장 큰 값 : " + max);System.out.println("가장 작은 값 : " + min);}cs 변수 두 개를 앞서 만들어 가장 큰 값에 int형 중 제일 작은 값을, 가장 작은 값에 제일 큰 값을 넣어놓고 배열 안의 수를 비교한다.
훨씬 깔끔하고 간단한 문제였다...
'혼자 있는 방 > Java' 카테고리의 다른 글
Homework(9) (0) 2021.07.01 Homework(8) (0) 2021.06.30 Homework(7) (0) 2021.06.25 Homework(6) (0) 2021.06.24 Homework(5) (0) 2021.06.23 댓글