본문내용
ne(); // 원소값을 문자열로 입력
System.out.println();
sp_str = new StringTokenizer(temp, ", "); // 입력받은 문자열을 구분자로 나누는 객체 생성
if(sp_str.countTokens() == (snd_size[0] * snd_size[1])){ // 행렬의 크기와 입력받은 원소들의 수가 같으면 저장
i = 0; // 인덱스값 초기화
j = 0; // 인덱스값 초기화
while(sp_str.hasMoreTokens()){ // 토큰이 있을동안 반복
second_matrix[i][j] = Integer.parseInt(sp_str.nextToken()); // 두번째 행렬에 원소 저장(문자열을 정수형으로)
j++;
if(j >= snd_size[1]){ // 각 행의 열이 다차면 다음 행으로
i++; // 다음 행으로
j=0; // 인덱스값 초기화
}
}
break;
}
else{
System.out.println(" 위에 입력한 크기와 입력한 행렬의 크기가 틀립니다. 확인후 다시 입력해주세요");
}
}
System.out.println();
System.out.println(" 두번째 행렬");
for(i = 0; i < snd_size[0]; i++){ // 저장된 두번째 행렬 출력
System.out.print("\t" + "|" + "\t");
for(j = 0; j < snd_size[1]; j++){
System.out.print(second_matrix[i][j] + "\t");
}
System.out.println("|");
}
System.out.println();
System.out.println();
System.out.println(" *** 두 행렬의 곱 ***");
System.out.println();
for(k = 0; k < fst_size[0]; k++){ // 두 행렬의 곱셈하여 출력
System.out.print("\t" + "|" + "\t");
for(i=0; i < snd_size[1]; i++){
for(j = 0; j < fst_size[1]; j++){
total = total + (first_matrix[k][j] * second_matrix[j][i]);
}
System.out.print(total+"\t");
total = 0;
}
System.out.println("|");
}
}
}
System.out.println();
sp_str = new StringTokenizer(temp, ", "); // 입력받은 문자열을 구분자로 나누는 객체 생성
if(sp_str.countTokens() == (snd_size[0] * snd_size[1])){ // 행렬의 크기와 입력받은 원소들의 수가 같으면 저장
i = 0; // 인덱스값 초기화
j = 0; // 인덱스값 초기화
while(sp_str.hasMoreTokens()){ // 토큰이 있을동안 반복
second_matrix[i][j] = Integer.parseInt(sp_str.nextToken()); // 두번째 행렬에 원소 저장(문자열을 정수형으로)
j++;
if(j >= snd_size[1]){ // 각 행의 열이 다차면 다음 행으로
i++; // 다음 행으로
j=0; // 인덱스값 초기화
}
}
break;
}
else{
System.out.println(" 위에 입력한 크기와 입력한 행렬의 크기가 틀립니다. 확인후 다시 입력해주세요");
}
}
System.out.println();
System.out.println(" 두번째 행렬");
for(i = 0; i < snd_size[0]; i++){ // 저장된 두번째 행렬 출력
System.out.print("\t" + "|" + "\t");
for(j = 0; j < snd_size[1]; j++){
System.out.print(second_matrix[i][j] + "\t");
}
System.out.println("|");
}
System.out.println();
System.out.println();
System.out.println(" *** 두 행렬의 곱 ***");
System.out.println();
for(k = 0; k < fst_size[0]; k++){ // 두 행렬의 곱셈하여 출력
System.out.print("\t" + "|" + "\t");
for(i=0; i < snd_size[1]; i++){
for(j = 0; j < fst_size[1]; j++){
total = total + (first_matrix[k][j] * second_matrix[j][i]);
}
System.out.print(total+"\t");
total = 0;
}
System.out.println("|");
}
}
}