第一题
package 第五次作业;
public class 第一题 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int[][] array= {
{91,25,8},
{56,14,2},
{47,3,67}
};//定义一个三行三列的整型数组
System.out.println("---原始数组---");
for(int[] i : array){
for (int j : i) {
System.out.print(j+"\t");
}
System.out.println();
}
//foreoach循环出原始数组内的数值
for(int i=0;i<array.length-1;++i) {
for(int j=1;j<array.length;++j) {
//通过题目的要求交换顺序,来规定循环结束的条件
if(i != j) {//去除无效交换
int temp=array[i][j];
array[i][j]=array[j][i];
array[j][i]=temp;//将需要的数据进行交换
}
}
}
System.out.println("---调换顺序之后的数组---");
for(int[]i : array) {
for(int j:i) {
System.out.print(j+"\t");
}
System.out.println();//foreoach循环出原始数组内的数值
}
}
}
运行结果
第二题
package 第五次作业;
import java.util.Scanner; //导入java.util.Arrys类
public class 第二题 {
public static void main(String[] args) {
Scanner in=new Scanner(System.in); //创建扫描器
//查询成绩
/*创建一个存储8位学生10个答案的8X10的char类型二维数组*/
char[][] studentAnswer={
{'A','C','D','A','A','C','D','B','C','B'},
{'B','A','D','B','A','B','C','A','C','B'},
{'A','A','A','A','A','A','A','A','A','A'},
{'B','B','B','B','B','B','B','B','B','B'},
{'C','C','C','C','C','C','C','C','C','C'},
{'D','D','D','D','D','D','D','D','D','D'},
{'A','C','D','A','A','C','D','B','C','B'},
{'A','C','D','A','A','C','D','B','C','B'}
}; //存储标准答案的一维数组
char[] correctAnswer={'B','A','D','C','C','B','C','A','D','B'};
System.out.println("您想要调取第几位学生的答题结果(有效数字为1至8):");
int choose=in.nextInt();//排除输入的无效选择
if(choose <= 0 || choose > 8){
System.out.println("选择超出范围,请重新选择!");
}
int count=0;//定义一个计数器,来记录当前学生答对题目的数量
System.out.printf("第%d位同学的全部答案为:\n",choose);
//使用一个变量Cur来确定选择的是那位学生,数组下标是从0开始,所以要减一
for(int i=0,Cur=choose-1; i<studentAnswer[Cur].length; ++i){
//将答题与答案一一对比,相同则表示答对,计数器自增一
if(studentAnswer[Cur][i] == correctAnswer[i]){
++count;
}
System.out.print(studentAnswer[Cur][i]+" "); //输出学生每一道题目的答案
}
运行结果