보통 배열을 출력하려고 하면 반복문을 사용하죠?
반복문을 사용한 출력
class Solution
{
public static void main(String args[]) throws Exception
{
int[] arr = {1, 2, 3, 4, 5, 6, 7, 8}; // 배열 선언
for(int i = 0; i < arr.length; i++)
{
System.out.print(arr[i]+" ");
}
}
}
결과물
1 2 3 4 5 6 7 8
이렇게 할거라고 생각합니다.
근데 혹시 함수에서 return 값으로 배열을 받아올 때, 이걸 어떡하지 생각한 적 있지 않으신가요?
함수에서 배열을 return 받았을 때
class Solution
{
static Scanner sc = new Scanner(System.in);
public static void main(String args[]) throws Exception
{
System.out.print(arr_test);
}
public static int[] arr_test()
{
int[] arr = {1, 2, 3, 4, 5, 6, 7, 8};
return arr;
}
}
결과물
[I@74a14482
이 코드를 실행하면 이렇게 이상한게 나온다.
배열(arr)이 가지고 있는 값이 아닌, 그 값을 갖고 있는 주소값을 출력하게 되기 때문!!!!
그러면 어떡해야 할까?
Arrays.toString(출력하고 싶은 배열의 이름);
(참고. import java.util.Arrays 해줘야 사용 가능합니다.)
class Solution
{
static Scanner sc = new Scanner(System.in);
public static void main(String args[]) throws Exception
{
System.out.print(Arrays.toString(arr_test()));
}
public static int[] arr_test()
{
int[] arr = {1, 2, 3, 4, 5, 6, 7, 8};
return arr;
}
}
그러면
[1, 2, 3, 4, 5, 6, 7, 8]
짜잔~~~ 하고 배열이 모두 출력된다.
하지만 이 방법으로는 2차원 배열은 출력할 수 없습니다!!!!!
그러면 어떡해야하냐.............는 다음 시간에 올리도록 하겠습니다. ㅎㅎ
어떻게 해야하는지 밑에 올려놨습니다.
https://fall-in-dream.tistory.com/17
728x90
'공부 > 기타' 카테고리의 다른 글
비트 연산자 사용하기 - 1편 (0) | 2024.01.22 |
---|---|
Character 메소드 활용 (0) | 2024.01.04 |
Scanner 로 char 형 입력하기 - JAVA (0) | 2022.12.25 |
반복문 없이 2차원(다차원) 배열 출력하기 ( Arrays.deepToString(arr))- JAVA (0) | 2022.12.22 |
아스키코드 - JAVA (0) | 2022.12.18 |