A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 不羁的码农 中级黑马   /  2016-9-19 23:38  /  991 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

创建一个Person,属性2,分别是nameage,
定义一个String[] str = {"奶昔","加多宝","啤酒","白酒"};用来代表喝的饮料.
           a. 创建3Person对象,从控制台获取属性值,输入格式为:姓名,年龄.(利用有参构造赋值)
           b. 将这3person对象存入到Map集合中(map<.要和的饮料>)
其中keyperson对象,对应的value值需要随机(random)str数组中获取
(如果person对象的年龄不满18岁则不能喝酒,也就是说如果该对象年龄小于18岁那么获取到的饮料是白酒或者啤酒则必须继续获取,直到获取到其他饮料为止.
          c. map.所有信息写到当前项目Person_info.txt(14)
写入格式如下:
姓名:年龄,饮料
比如:
李四:15:奶昔
赵六:10:加多宝
张三:30:啤酒

5 个回复

倒序浏览
看看这链接,
http://bbs.itheima.com/forum.php?mod=viewthread&tid=315346
(出处: 黑马程序员IT技术论坛)
回复 使用道具 举报
自己写的,可能会存在不足,也是新手
//Test
import java.util.Scanner;
import java.util.Random;
import java.util.Map;
import java.util.HashMap;
import java.io.PrintStream;
import java.io.FileOutputStream;
import java.util.Set;
class Test {
public static void main(String[] args)throws Exception {
  Map<Person,String> map = new HashMap<Person,String>();
  String[] str = {"奶昔","加多宝","啤酒","白酒"};
  Scanner in = new Scanner(System.in);
  Random rd = new Random();
  for(int i=0;i<3;i++){
   boolean b = true;
   System.out.println("请输入第"+(i+1)+"个人姓名:");
   String name = in.next();
   System.out.println("请输入第"+(i+1)+"个人年龄:");
   int age = in.nextInt();
   
   while(b){
    String yinliao = str[rd.nextInt(str.length)];
    if(age<18 && (yinliao.equals("啤酒")||yinliao.equals("白酒"))){
     continue;
    }else{
     map.put(new Person(name,age),yinliao);
     b = false;
    }
   }
  }

  PrintStream ps = new PrintStream("F:/Test/Person_info.txt");
  Set<Person> key = map.keySet();
  for(Person p:key){
     ps.print(p+":"+map.get(p));
     ps.println();
  }
  ps.close();
}
}


//Person
public class Person {
private String name;
private int age;
public Person(){}
public Person(String name,int age){
  this.name = name;
  this.age = age;
}
public void setName(String name){
  this.name = name;
}
public String getName(){
  return this.name;
}
public void setAge(int age){
  this.age = age;
}
public int getAge(){
  return this.age;
}
public String toString(){
  return this.name+":"+this.age+":";
}
}

回复 使用道具 举报
2楼给的链接学到了
回复 使用道具 举报
学到了,后天点招,希望能遇到一样的,谢谢丶
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马