黑马程序员技术交流社区
标题:
键盘录入姓名和年龄存储ArrayList中
[打印本页]
作者:
DreamStart
时间:
2015-7-31 08:14
标题:
键盘录入姓名和年龄存储ArrayList中
键盘录入姓名和年龄存储ArrayList中
如果用户输出over,结束输入,迭代ArrayList
class Person{
name;
age;
构造器,get set
}
ArrayList<Person> array = new ArrayList<Person>()
Scanner sc = XXX
String s= sc.nextLine() lisi 30
if("over".equals(s))
break;
空格切割字符串
array.add(new Person(lisi,30))
Iterator it = XXX.iterator();
作者:
AI_96
时间:
2015-7-31 09:55
666666666666
作者:
DreamStart
时间:
2015-8-3 20:08
没人回答啊
作者:
cemabenteng
时间:
2015-8-3 23:16
import java.util.HashMap;
import java.util.Map.Entry;
import java.util.Scanner;
import java.util.Set;
public class Person {
public static void main(String[] args) {
System.out.println("键盘录入开始");
for (int i = 0; i < 5; i++) {
// 实现键盘录入
Scanner sc = new Scanner(System.in);
System.out.println("请输入第" + (i + 1) + "个学生的名字");
String name = sc.nextLine();
if("over".equals(name)){
System.out.println("录入终止");
break;
}
System.out.println("请输入第" + (i + 1) + "个学生的年龄");
int age = sc.nextInt();
// 创建集合对象
HashMap<String, Integer> map = new HashMap<String, Integer>();
// 储存到集合中
map.put(name, age);
// 遍历集合
// 方式1
Set<String> set = map.keySet();
// 增强for循环
for (String s : set) {
int age1 = map.get(s);
System.out.println("学生姓名:" + name + "学生年龄:" + age1);
}
System.out.println("***************************");
// 方式2
Set<Entry<String, Integer>> eset = map.entrySet();
// 增强for循环获取键值对
for (Entry<String, Integer> es : eset) {
System.out.println("学生姓名:" + es.getKey() + "学生年龄:"
+ es.getValue());
}
}
}
}
这是我写的代码,首先ArrayList不能存两个有映射关系的参数,所以用ArrayList存储年龄和姓名是不行的,还有over应该是针对名字来说的,输入年龄时不能写over,因为over不是int类型,会报错,还有注意一点,因为先写String后写int没事,但是先写int后写String就会报错,这段代码还有点瑕疵,我还要预习明天内容你就将就着这么看吧,有什么不懂的可以问我,我也一般,咱们互相学习.
作者:
wx_HWRW5aF7
时间:
2015-8-3 23:33
3楼正解
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2