public class Array2D { // 2차원배열 클래스를 생성 하였습니다.
/**
* for 반복문을 통해 구구단을 만들어 볼꺼구요
* 각 값들을 문자형태로 저장하여
* 문자형 2차원 배열을 만들고 각 값을 넣어
* 배열값을 출력 할것입니다.
*/
public static void main(String[] args) { //main을 선언하여 시작합니다.
// TODO Auto-generated method stub
String arr[][] = new String[9][8]; //배열을 선언했습니다. *,=이 들어가기때문에 문자형태로 저장합니다.
int x=0; //이것은 1차원 배열 인덱스를 증가 시키기 위해 선언했습니다.
for (int j=1;j <= 9;j++){ //우선 반복문을 돌립니다. 2차식부터 먼저 돌립니다.
int y=0; //2차원 배열인덱스 값을 증가 시키기 위해 선언했습니다.
for (int i=2;i <= 9;i++){ //다시 반복문을 돌려 1차식을 돌립니다. 2차식부터 돌린 이유는
//2*1=2 , 3*1=3 가로로 먼저 출력하고 줄내림을 하기 위해서입니다.
int re; //2*1=2 곱하기의 결과값을 저장할 변수입니다. result 앞자만 땄어요
re = i * j; // 1차식 * 2차식 값을 re에 저장합니다.
String de = i+"*"+j+"="+re+" "; //de라는 문자형변수를 선언하면서 초기값으로 바로 화면에 출력할 형태를 넣습니다.
//" " 이것은 각 단별로 구별을 하려고 띄어쓰기를 한건데 tab을 어떻게 쓰는지 몰라서 공백으로 두었습니다.
arr[x][y] = de; // 배열인덱스별로 de 값을 문자형태로 넣습니다.
// 첫번째는 arr[0][0] = 2*1=2 가 문자형태로 들어가겠지요
// 반복 후 두번째는 arr[0][1] = 3*1=3 이 들어갑니다.
y++; // 배열 2차원값을 증가시킵니다. 아마 반복이 끝나는 마지막에는 arr[0][8]이 되겠지만
// 반복문 초기에 0으로 초기화 시키고 들어갑니다.
// System.out.print(arr[a][b]);
// System.out.print(i+"*"+j+"="+re+" ");
// break;
}
x++; // 배열 1차원값을 증가시킵니다.
// System.out.println();
}
for (int gugu=0;gugu < arr.length ;gugu++){ //2차원 배열을 반복문을 사용하여 빼 오는게 잘 안되네요
System.out.println(arr[gugu]);
// System.out.println(arr[1][0]); //각 값이 배열 공간마다 잘 들어갔는지 확인, 결과 이상무
}
}
}
2010. 9. 28. 17:19
도브의 프로그래밍/Java