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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

beizhi

初级黑马

  • 黑马币:15

  • 帖子:8

  • 精华:0

a.在项目根目录下手动创建food.txt文件(某饭店菜单),
菜名-价格-折扣(比如:0.8是8折,1代表没有折扣)文件内容如下:
     京酱肉丝-28-0.8
     锅包肉-48-0.6
     皮蛋豆腐-12-0.9
     烧茄子-15-1
     水煮肉片-38-0.5
     拍黄瓜-10-1
    大盘鸡-56-0.9
b.自定义Food类,属性:菜名(String),价格(int),折扣(double),生成对应的set/get方法,满参构造
c.创建Test测试类在main方法中利用流读取food.txt文件中的内容,并且生成对应的Food对象,存放到任意集合中


小弟 提取出数据之后 想用split()把数据提取出来 因为有-但是提取出来就是数组了 感觉方向不对啊,,各位大神有什么想法吗
。。。。。。

8 个回复

倒序浏览
读取出文件的每行,然后每行用split分割,然后遍历数组,把不同角标的元素放到对应的参数位置
是我没明白你的意思???
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
方向是对的,只是切割出来的都是string类型的数据,你通过一些方法转换数据类型,下面的你应该就会了
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
回复 使用道具 举报
lvshen9 发表于 2017-3-12 08:44
int a=Integer.pasInt(str)

您好,我想问一下这个题用什么集合做比较好啊,我用的ArrayList的泛型。我不知道是不是可以
回复 使用道具 举报
beizhi 发表于 2017-3-12 12:13
您好,我想问一下这个题用什么集合做比较好啊,我用的ArrayList的泛型。我不知道是不是可以 ...

List Set都可以
回复 使用道具 举报
beizhi 初级黑马 2017-3-12 13:38:52
7#
Mr_Maty 发表于 2017-3-12 00:20
读取出文件的每行,然后每行用split分割,然后遍历数组,把不同角标的元素放到对应的参数位置
是我没明白你 ...

是这个意思啊、、
回复 使用道具 举报
你是自学后参加就业班的面试题吗?
回复 使用道具 举报
分享交流一下

[Java] 纯文本查看 复制代码
package myexam.test26;

import java.awt.List;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;

/**
 * 
 * 创建Test测试类在main方法中利用流读取food.txt文件中的内容,并
 * 且生成对应的Food对象,存放到任意集合中
 * 
 * 创建一个测试类满足以上功能
 * @author lvshen
 *
 */
public class Test26 {

	public static void main(String[] args) throws IOException {
		File file=new File("food.txt");
		getData(file);
	}
	/**
	 * 创建一个获取数据的方法,并实现指定功能
	 * @param file  文件
	 * @throws IOException  IO异常
	 */
	public static void getData(File file) throws IOException{
		//创建一个arraylist对象
		ArrayList<Food> arraylists=new ArrayList<Food>();
		//文件如果不存在,创建
		if(!file.exists()){
			file.createNewFile();
		}
		//创建一个字符读取流对象
		BufferedReader bufr=new BufferedReader(new FileReader(file));
		String line=null;
		//逐行读取文件
		while((line=bufr.readLine())!=null){
			String[] str=line.split("-");
			//把文件存入到指定集合中
			arraylists.add(new Food(str[0],Integer.parseInt(str[1]),Double.parseDouble(str[2])));
		}
		//关闭读取流
		bufr.close();
		for (Food food : arraylists) {
			System.out.println(food.getName()+","+food.getPrice()+","+food.getDiscount());
		}
	}
}

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马