java語言程式設計 第十版(基礎篇)8.1-5
阿新 • • 發佈:2018-12-18
8.1
Scanner input = new Scanner(System.in); double [][] m = new double [3][4]; System.out.print("Enter a 3-by-4 matrix row by row"); for(int i=0;i<m.length;i++) for(int j =0;j<m[i].length;j++) { m[i][j]=input.nextDouble(); } for(int i=0;i<4;i++) { System.out.print("Sum of the elements at column "+i+" is "+sumColumn(m,i)+"\n"); } } public static double sumColumn(double [][] m,int columnIndex) { double sum=0; for(int i=0;i<m.length;i++) { sum+=m[i][columnIndex]; } return sum; }
8.2
public static void main(String[] args) { // TODO Auto-generated method stub Scanner input = new Scanner(System.in); double [][] m = new double [4][4]; System.out.print("Enter a 4-by-4 matrix row by row"); for(int i=0;i<m.length;i++) for(int j =0;j<m[i].length;j++) { m[i][j]=input.nextDouble(); } System.out.printf("%3.2f\n", sumMajorDiagonal(m)); } public static double sumMajorDiagonal(double [][] m) { double sumMajorDiagonal=0; for(int i=0;i<m.length;i++) sumMajorDiagonal+=m[i][i]; return sumMajorDiagonal; }
8.3
public static void main(String args[]) { // Students' answers to the questions char[][] answers = { {'A', 'B', 'A', 'C', 'C', 'D', 'E', 'E', 'A', 'D'}, {'D', 'B', 'A', 'B', 'C', 'A', 'E', 'E', 'A', 'D'}, {'E', 'D', 'D', 'A', 'C', 'B', 'E', 'E', 'A', 'D'}, {'C', 'B', 'A', 'E', 'D', 'C', 'E', 'E', 'A', 'D'}, {'A', 'B', 'D', 'C', 'C', 'D', 'E', 'E', 'A', 'D'}, {'B', 'B', 'E', 'C', 'C', 'D', 'E', 'E', 'A', 'D'}, {'B', 'B', 'A', 'C', 'C', 'D', 'E', 'E', 'A', 'D'}, {'E', 'B', 'E', 'C', 'C', 'D', 'E', 'E', 'A', 'D'}}; // Key to the questions char[] keys = {'D', 'B', 'D', 'C', 'C', 'D', 'A', 'E', 'A', 'D'}; int [] count = new int [8]; // Grade all answers for (int i = 0; i < answers.length; i++) { // Grade one student int correctCount = 0; for (int j = 0; j < answers[i].length; j++) { if (answers[i][j] == keys[j]) correctCount++; } count[i]=correctCount; } java.util.Arrays.sort(count); for(int i =0;i<count.length;i++) { System.out.println("Student " + i + "'s correct count is " + count[i]); } }
8.4
public static void main(String[] args) {
// TODO Auto-generated method stub
int[][] time = {
{2,4,3,4,5,8,8},
{7,3,4,3,3,4,4},
{3,3,4,3,3,2,2},
{9,3,4,7,3,4,1},
{3,5,4,3,6,3,8},
{3,4,4,6,3,4,4},
{3,7,4,8,3,8,4},
{6,3,5,9,2,7,9}
};
totalProductive(time);
}
public static void totalProductive(int [] []time) {
int sum;
int [] total= new int [8];
for(int i=0;i<time.length;i++) {
sum=0;
for(int j =0;j<time[i].length;j++) {
sum+=time[i][j];
}
total[i]=sum;
}
java.util.Arrays.sort(total);
for(int i=0;i<total.length;i++) {
System.out.print(total[i] +" ");
}
}
8.5
public static void main(String[] args){
Scanner input = new Scanner(System.in);
double[][] arr1 = new double[3][3];
double[][] arr2 = new double[3][3];
System.out.print("Enter matrix1:");
for(int i = 0; i < 3; ++i)
for(int j = 0; j < 3; ++j)
arr1[i][j] = input.nextDouble();
System.out.print("Enter matrix2:");
for(int i = 0; i < 3; ++i)
for(int j = 0; j < 3; ++j)
arr2[i][j] = input.nextDouble();
arr1 = addMatrix( arr1, arr2);
for(int i = 0; i < 3; ++i){
for(int j = 0; j < 3; ++j){
System.out.print( arr1[i][j] + " ");
}
System.out.println();
}
}
public static double[][] addMatrix(double[][] a, double[][] b){
for(int i = 0; i < 3; ++i)
for(int j = 0; j < 3; ++j)
a[i][j] += b[i][j];
return a;
}