프로그래밍 기초 및 응용
보충 - 2차 배열
황샐리
2022. 5. 16. 17:47
오늘은 난이도를 올린 2차배열을 해보겠습니다.
2차원 배열의 length는 모두 행값이 나옵니다.
[행][열] 여기서 랭쓰는? 무조건 행 값입니다.
package day0516;
import java.util.Scanner;
public class ArrayTest {
public static void main(String[] args) {
int n=5;
Scanner in=new Scanner(System.in);
System.out.println("수입력[2~9] : ");
n=in.nextInt();
int[][] arr=new int[n][n+10];
System.out.println(arr.length);
}
}
저기에 n+10이 있어도? 5개다. 그런데?
System.out.println(arr[0].length);
이런 문제를 준다면?
랭쓰는 10입니다. 왜요?
0층에 있는 가로열이 10개니까요~!!
0번째에 있는 애들이 10개라고요.
오키.
레고
package day0516;
import java.util.Scanner;
public class ArrayTest {
public static void main(String[] args) {
int r,c;
Scanner in=new Scanner(System.in);
System.out.println("수입력[2~9] : ");
r=in.nextInt();
System.out.println("수입력[2~9] : ");
c=in.nextInt();
int[][] arr=new int[r][c];
//출력
for(int[] arr1 : arr) {
for(int n : arr1) {
System.out.printf("%2d", n);
}
System.out.println();
}
}
}
public static void main(String[] args) {
int r,c;
Scanner in=new Scanner(System.in);
System.out.println("수입력[2~9] : ");
r=in.nextInt();
System.out.println("수입력[2~9] : ");
c=in.nextInt();
int[][] arr=new int[r][c];
int count=1;
//초기화 1~25
for(int i=0; i<r ; i++) {
for(int j=0; j<c ; j++) {
arr[i][j]=count++;
}
}
//출력
for(int[] arr1 : arr) {
for(int n : arr1) {
System.out.printf(" %2d", n);
}
System.out.println();
}
}
int count=1;
를 통해서 점차 늘어나도록 만들어줍니다.
package day0516;
import java.util.Scanner;
public class ArrayTest {
public static void main(String[] args) {
int r,c;
Scanner in=new Scanner(System.in);
System.out.println("수입력[2~9] : ");
r=in.nextInt();
System.out.println("수입력[2~9] : ");
c=in.nextInt();
int[][] arr=new int[r][c];
int count=1;
//초기화 1~25
for(int i=0; i<r ; i++) {
for(int j=0; j<c ; j++) {
arr[i][j]=count++;
}
}
display(arr);
} //end main
//출력
static void display(int[][] arr){
for(int[] arr1 : arr) {
for(int n : arr1) {
System.out.printf(" %2d", n);
}
System.out.println();
}
}
}
이렇게도 가능합니다.
메인 밖에서 해주엇슴니다.
display(arr);
이것은 syso 코드등등을 따로 안쓰고 걍 저거만 몇개 복사해주면 행렬이 복사한 만큼 나옵니다. 지금은 하나만 했으니까 당연히 배열도 하나만 나왔슴다.