由于小弟是新手 问题并不难但想得我头都大了
要求是输入9个整数,按照顺序组成一个矩阵,再验证是不是幻方。
前面的代码:
import java.io.*;
public class Matrix { public static void main(String args[]) {
int s[]=new int[9]; int k;
for(int i=0;i<9;i++){
System.out.print("请输入一个整数:");
try{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
String j=br.readLine();
s[i]=Integer.parseInt(j);
}catch(IOException e){}
System.out.println("您所输入的矩阵是:");
for(int i=0;i<9;i++){
System.out.print(""+s[i]+" ");
if((i+1)%3==0)
System.out.println();
}
}
后面的验证我就写不出了 恳请帮忙 。一个幻方矩阵是 4 9 2 3 5 7 8 1 6
要求是输入9个整数,按照顺序组成一个矩阵,再验证是不是幻方。
前面的代码:
import java.io.*;
public class Matrix { public static void main(String args[]) {
int s[]=new int[9]; int k;
for(int i=0;i<9;i++){
System.out.print("请输入一个整数:");
try{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
String j=br.readLine();
s[i]=Integer.parseInt(j);
}catch(IOException e){}
System.out.println("您所输入的矩阵是:");
for(int i=0;i<9;i++){
System.out.print(""+s[i]+" ");
if((i+1)%3==0)
System.out.println();
}
}
后面的验证我就写不出了 恳请帮忙 。一个幻方矩阵是 4 9 2 3 5 7 8 1 6
public class Matrix { public static void main(String args[]) {
Scanner s = new Scanner(System.in);
System.out.println("Please input a matrix with 9 elements in a string");
String input = s.next();
if (input.length()!=9) {
System.out.println("Must be 9 elements!");
System.exit(0);
}
int[] matrix = new int[9];
for (int i=0; i<9; i++)
matrix[i] = Integer.valueOf(input.charAt(i)+"");
System.out.println(input.substring(0, 3));
System.out.println(input.substring(3, 6));
System.out.println(input.substring(6, 9));
System.out.println("Is a Magic Matrix? " + isMagicMatrix(matrix, 3, 3));
}
private static boolean isMagicMatrix(int[] m, int rows, int columns) { for (int i=0; i<rows; i++){
int Sum = 0;
for (int j=0; j<columns; j++)
Sum += m[j+3*i];
if (Sum != 15)
return false;
}
for (int i=0; i<columns; i++){
int Sum = 0;
for (int j=0; j<rows; j++)
Sum += m[j+3*i];
if (Sum != 15)
return false;
}
return true;
}
}