1、分析题目,需要存储姓名学号成绩,因此,二维数组需要定义成字符串类型
姓名 学号 成绩
0 1 2
0[] [] []
1[] [] []
2[] [] []
数组的每列存储内容是固定的,一行代表一个学生,遍历过程嵌套for循环就可以遍历全部学生,
int n=input;
String stu[][] =new String [n][2];//学生个数不定
for(int i=0;i<n;i++){
//i 是行 ,一行就是一个“学生”,如i=0,是第一个学生
for(int j=0;j<3,j++)
{//j,是列,是每个学生的信息,0是姓名,1是学号,2是成绩
//循环过程是i=0是,遍历[0][0],[0][1],[0][2],也就依次是姓名学号成绩
System.out.print(stu[i][j]);
}
System.out.println("");//输完一个学生,换行
}
2、源代码如下
public static void main(String args[])
{
System.out.println("请输入学生个数");
Scanner input =new Scanner(System.in);
int n=input.nextInt();
String stu[][] =new String [n][3];//学生个数不定
//输入信息
for(int i=0;i<n;i++){
//i 是行 ,一行就是一个“学生”,如i=0,是第一个学生
System.out.println("请输入第"+(i+1)+"个学生的信息:");
for(int j=0;j<3;j++)
{//j,是列,是每个学生的信息,0是姓名,1是学号,2是成绩
//循环过程是i=0是,遍历[0][0],[0][1],[0][2],也就依次是姓名学号成绩
switch (j) {
case 0:
System.out.print("姓名:");
stu[i][j]=input.next();
break;
case 1:
System.out.print("学号:");
stu[i][j]=input.next();
break;
case 2:
System.out.print("成绩:");
stu[i][j]=input.next();
break;
default:
break;
}
}
}
//输出信息
for(int i=0;i<n;i++){//循环同理
for(int j=0;j<3;j++)
{//j,是列,是每个学生的信息,0是姓名,1是学号,2是成绩
//循环过程是i=0是,遍历[0][0],[0][1],[0][2],也就依次是姓名学号成绩
switch (j) {
case 0:
System.out.print("姓名:");
System.out.print(stu[i][j]);
break;
case 1:
System.out.print("学号:");
System.out.print(stu[i][j]);
break;
case 2:
System.out.print("成绩:");
System.out.print(stu[i][j]);
break;
default:
break;
}
}
System.out.println("");//输完一个学生,换行
}
}
3、运行效果如图
![](https://video.ask-data.xyz/img.php?b=https://iknow-pic.cdn.bcebos.com/10dfa9ec8a13632701f849b69b8fa0ec08fac71a?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_600%2Ch_800%2Climit_1%2Fquality%2Cq_85%2Fformat%2Cf_auto)