黑马程序员技术交流社区
标题:
【在线等回答】问一个简单的问题
[打印本页]
作者:
liuelxiwd
时间:
2013-5-30 09:18
标题:
【在线等回答】问一个简单的问题
本帖最后由 liuelxiwd 于 2013-5-30 22:50 编辑
我想用一个二维数组既保存姓名又保存成绩,可以这样定义 String [][] arr = new String[5][4];共5行,保存5个人的信息,每一列的第一列为姓名,其余为成绩,请问关于接收键盘输入这个该怎么写,应该是Scanner和for循环,求助~~~~~~~~~~~~~
作者:
SOAR
时间:
2013-5-30 09:46
for(int i=0;i<5;i++){
for(int j=0;j<4;j++){
//输入成绩 依次存在 arr[i][j]中
}
}
作者:
胡浩
时间:
2013-5-30 10:24
import java.util.*;
public class 二维数组 {
/**
* @param args
*/
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
String [] [] arr=new String [5][4];
for(int i=0;i<5;i++){
System.out.println("请输入第"+(i+1)+"个人的姓名");
arr[i][0]=input.next();//姓名保存在第一列,所以横坐标都为0
for(int j=1;j<4;j++){
System.out.println("请依次输入第"+(i+1)+"个人的成绩");
arr[i][j]=input.next();
}
}
for(int i=0;i<5;i++){
for(int j=0;j<4;j++){
System.out.println(arr[i][j]);
}
}
}
}
复制代码
楼主,这样可以啦
作者:
穆爱明
时间:
2013-5-30 11:00
package com.test;
import java.util.Scanner;//别忘了导包
public class Test {
public static void main(String[] args) {
/**
* 存储数据
*/
String[][] arr = new String[5][4];// 定义一个二维数组
Scanner input = new Scanner(System.in);// 声明接收器
for (int i = 0; i < arr.length; i++) {
System.out.print("请输入第" + (i + 1) + "位的姓名和成绩:");// 提示用户输入成绩
for (int j = 0; j < arr[i].length; j++) {// 利用循环接受每人的姓名和成绩
arr[i][j] = input.next();// 存储用户数据
}
}
/**
* 显示数据
*/
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < arr[i].length; j++) {
System.out.print(arr[i][j]+"\t");
}
System.out.println();//换行
}
}
}
//控制台接收数据的时候光标要手动移到末尾!
复制代码
作者:
liuelxiwd
时间:
2013-5-30 22:51
胡浩 发表于 2013-5-30 10:24
楼主,这样可以啦
谢谢!!!!
作者:
liuelxiwd
时间:
2013-5-30 22:51
穆爱明 发表于 2013-5-30 11:00
谢谢!!!
作者:
刘正祥
时间:
2013-5-30 23:34
思路:用HashMap的键值对更清晰一些,姓名是键,成绩是值,一次输入姓名和成绩,中间用个符号隔开,然后用字符串分割的方法将用符号隔开的两个分别,存入Map对象中!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2