一、交换二维数组
交换二维数组int[] []array = {{91,25,8},{56,14,2},{47,3,67}}的行、列数据,实现效果图如下:
![](https://i-blog.csdnimg.cn/blog_migrate/8d583e44ca061146f2e666fec24720b7.png)
代买如下:
import java.util.Scanner;
public class jiaohuan {
public static void main(String[] args) {//创建扫描器
// TODO Auto-generated method stub
int[][] array={
{91,25,8},
{56,14,2},
{47,3,67}
};//定义一个3行3列的整形
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;
}
}
}
System.out.println("---调换顺序之后的数组---");
for(int[] i : array){
for(int j : i){
System.out.print(j+"\t");
}
System.out.println();
}
}
}
运行结果如下:
![](https://i-blog.csdnimg.cn/blog_migrate/24133a507262a778dcc70ca4ea8fd55d.png)
二、查询成绩
![](https://i-blog.csdnimg.cn/blog_migrate/7cbd4827dfa812e975bbfde2ad40eedf.png)
代码如下:
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(); //关闭扫描器
}
}
/*
定义一个8X10的char类型二维数组来存储8名学生的10个答案
定义一个10个长度的char类型数组存储标准答案
用户输入学号选择后,将该学生的答案与标准答案进行对比,相同的计数器加一
最后输出计数器的值,即为该学生答对题目的数量
*/
运行结果如下:
![](https://i-blog.csdnimg.cn/blog_migrate/6dc0b029617404975b02b2499621c7ae.png)