int 배열이름 [][];
배열이름=new int[갯수1][갯수2] //갯수1: 행 갯수2: 열(row,column)
초기값 각각 설정해줘야함
System.out.println("행의 갯수: "+arr.length); //행의 갯수만
//열의갯수
//행의 i번째 길이로 열의 갯수 구할 수 있음
System.out.println("0행의 열갯수: "+arr[0].length); 0행의 열갯수
System.out.println("1행의 열갯수: "+arr[1].length); 1행의 열갯수
for(int i=0;i<arr.length;i++)=>행 갯수
{
for(int j=0;j<arr[i].length;j++) => arr[i]가 행의 i번째 열
{
//System.out.print(arr[i][j]+"\t");
System.out.printf("%d,%d=%2d\t",i,j,arr[i][j]);
}
System.out.println();
}
public static void main(String[] args) {
int [][]arr;
arr=new int[2][3]; //2행 3열로 할당(row,column)
//초기값
arr[0][0]=10;
arr[0][1]=20;
arr[0][2]=30;
arr[1][0]=5;
arr[1][1]=10;
arr[1][2]=20;
System.out.println("행의 갯수: "+arr.length); //행의 갯수만
//열의갯수
//행의 i번째 길이로 열의 갯수 구할 수 있음
System.out.println("0행의 열갯수: "+arr[0].length);
System.out.println("1행의 열갯수: "+arr[1].length);
System.out.println("***데이터 출력***");
for(int i=0;i<arr.length;i++)
{
//arr[i]가 행의 i번째
for(int j=0;j<arr[i].length;j++)
{
//System.out.print(arr[i][j]+"\t");
System.out.printf("%d,%d=%2d\t",i,j,arr[i][j]);
}
System.out.println();
}
System.out.println("2차원 배열의 값을 변경 후 다시 출력");
arr[0][1]=1000;
arr[1][0]=2000;
arr[1][2]=3000;
System.out.println("***데이터 출력***");
for(int i=0;i<arr.length;i++)
{
//arr[i]가 행의 i번째
for(int j=0;j<arr[i].length;j++)
{
//System.out.print(arr[i][j]+"\t");
System.out.printf("%d,%d=%2d\t",i,j,arr[i][j]);
}
System.out.println();
}
}
int arr[][]= {
{22,33},
{11,22,33},
{10,20,30,40}
};
=> 2차원배열의 경우 구분하기 쉽게 행마다 내려서 값 선언
System.out.println("총 행 갯수: "+arr.length);
System.out.println("0번행의 열갯수: "+arr[0].length);//0행의 열갯수
System.out.println("0번행의 열갯수: "+arr[1].length);//1행의 열갯수
System.out.println("0번행의 열갯수: "+arr[2].length);//2행의 열갯수
public static void main(String[] args) {
//행마다 열 갯수가 다른 경우
int arr[][]= {
{22,33},
{11,22,33},
{10,20,30,40}
};
System.out.println("총 행 갯수: "+arr.length);
System.out.println("0번행의 열갯수: "+arr[0].length);//0행의 열갯수
System.out.println("0번행의 열갯수: "+arr[1].length);//1행의 열갯수
System.out.println("0번행의 열갯수: "+arr[2].length);//2행의 열갯수
//for문으로 출력
for(int i=0;i<arr.length;i++) //행
{
for(int j=0;j<arr[i].length;j++) //열
{
System.out.printf("%d,%d=%2d\t",i,j,arr[i][j]);
}
System.out.println(); //0, 1, 2 행 내려갈 때마다 줄 내려줌
}
}
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
//3행3열 배열 생성
int pz[][]=new int[3][3];
int bingo=0; //빙고 갯수 담기
while(true)
{
System.out.println("***같은 숫자 나오면 빙고!!!***");
//3행3열안에 1~3까지의 난수 발생
for(int i=0;i<pz.length;i++) //행
{
for(int j=0;j<pz[i].length;j++) //열
{
pz[i][j]=(int)(Math.random()*3)+1;
}
}
//출력
for(int i=0;i<pz.length;i++) //행
{
for(int j=0;j<pz[i].length;j++) //열
{
System.out.printf("%4d",pz[i][j]);
}
System.out.println();
}
//빙고갯수
bingo=0; //빙고 갯수 초기화
//가로방향 3개, 세로방향 3개
for(int i=0;i<pz.length;i++)
{
//가로방향비교
if(pz[i][0]==pz[i][1] && pz[i][1]==pz[i][2])
bingo++;
//세로방향비교
if(pz[0][i]==pz[1][i] && pz[1][i]==pz[2][i])
bingo++;
}
//대각선 \방향
if(pz[0][0]==pz[1][1] && pz[1][1]==pz[2][2])
bingo++;
//대각성 /방향
if(pz[0][2]==pz[1][1] && pz[1][1]==pz[2][0])
bingo++;
//빙고출력
if(bingo==0)
System.out.println("\t꽝!!!");
else
System.out.println("\t빙고 갯수: "+bingo+"개");
//게임종료
System.out.println("엔터를 누르면 다음 난수가 나옵니다(q: 종료)");
String ans=sc.nextLine();
if(ans.equalsIgnoreCase("q"))
{
System.out.println("게임을 종료합니다");
break;
}
}
}