1.交换二维数组
public class jiaohuan {
public static void main(String[] args) {
// TODO Auto-generated method stub
//定义一个3行3列的整形二维数组
int[][] array={
{91,25,8},
{56,14,2},
{47,3,67}
};
//foreach循环输出原始数组内的数值
System.out.println("---原始数组---");
for(int[] i : array){
for(int j : i){
System.out.print(j+"\t");
}
System.out.println();
}
//通过题目要求的交换顺序,来规定循环结束的条件
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;
}
}
}
//foreach循环输出数组内的数值
System.out.println("---调换顺序之后的数组---");
for(int[] i : array){
for(int j : i){
System.out.print(j+"\t");
}
System.out.println();
}
}
}
结果如下

2.查询成绩
import java.util.Scanner;
public class chaxun {
public static void main(String[] args) {
// TODO Auto-generated method stub
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("选择超出范围,请重新选择!");
return;
}
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]+" "); //输出学生每一道题目的答案
}
//输出结果
System.out.println();
System.out.println("第"+(choose)+"位同学一共答对了"+(count)+"道题");
in.close(); //关闭扫描器
}
}
结果如下
