栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java实验十内容二

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java实验十内容二

文章目录
  • 前言
  • 一、要求是什么?
  • 二、我的思路
    • 1.先创立文件类
    • 2.然后调用各种判断函数,看是否出问题
    • 3.用Scanner类解析文件
      • 3.1注意事项
        • Scanner类解析文件时,必需加上try ...catch...。检验文件是否正常打开,抓捕异常,否则会出错异常类是:FileNotFoundException
        • 这次为了捕捉到double数据,要先cin.useDelimiter,指定分割方式,否则将提取不到double数据
      • 3.2 实现代码
  • 三、我的代码
  • 4.我的运行结果:
  • 总结


前言

有了上次经验教训,特地加上了文字描述,记录本菜鸟写的代码。


一、要求是什么?
(2)  参考例10-16,解析一文件(商品列表.txt)中的价格数据,
         并计算平均价格,见书上 p.321 第4.3题
二、我的思路 1.先创立文件类
  File f = new File("C:\Users\86137\Desktop\Java实验\Java实验要求\10 实验十 输入输出流\10 实验十 输入输出流","商品列表.txt");
注意,第一个传参字符串是文件高一级路径,后一个是文件名 2.然后调用各种判断函数,看是否出问题
	   String str= f.getName();
	   System.out.println("文件的名字:"+str);
	   if(f.exists()){
		   System.out.println("文件是存在的");
	   }
	   else{
		   System.out.println("文件是不存在的");
	   }
	   if(f.canRead()){
		   System.out.println("文件是可读的");
	   }
	   else{
		   System.out.println("文件是不可读的");
	   }
	   if(f.canWrite()){
		   System.out.println("文件是可写的");
	   }
	   else{
		   System.out.println("文件是不可写的");
	   }

	   System.out.println("文件的长度:"+f.length());
	   System.out.println("文件的父路径"+f.getAbsolutePath());
3.用Scanner类解析文件 3.1注意事项 Scanner类解析文件时,必需加上try …catch…。检验文件是否正常打开,抓捕异常,否则会出错异常类是:FileNotFoundException 这次为了捕捉到double数据,要先cin.useDelimiter,指定分割方式,否则将提取不到double数据 3.2 实现代码
try {
		   boolean tt=true;
		  
		   Scanner cin = new Scanner(f);
			  double num=0;
			  cin.useDelimiter("[^0123456789.]+");
			  double sum=0;
		   while(cin.hasNextDouble()) {
		       num++;
			   Double price = cin.nextDouble();
			   System.out.println("商品价格"+num+":"+price);
			   sum+=price;
		   }
			 System.out.println("平均价格:"+sum/num);
		   
		   }catch(FileNotFoundException e){
		   e.printStackTrace();
		   System.out.println("不能打开文件");
		   }
三、我的代码
package ex_10;
import java.io.File;
import java.util.Scanner;
import java.io.FileNotFoundException;
public class outinput {

	 public static void main(String[] args) {
	   File f = new File("C:\Users\86137\Desktop\Java实验\Java实验要求\10 实验十 输入输出流\10 实验十 输入输出流","商品列表.txt");
	   String str= f.getName();
	   System.out.println("文件的名字:"+str);
	   if(f.exists()){
		   System.out.println("文件是存在的");
	   }
	   else{
		   System.out.println("文件是不存在的");
	   }
	   if(f.canRead()){
		   System.out.println("文件是可读的");
	   }
	   else{
		   System.out.println("文件是不可读的");
	   }
	   if(f.canWrite()){
		   System.out.println("文件是可写的");
	   }
	   else{
		   System.out.println("文件是不可写的");
	   }

	   System.out.println("文件的长度:"+f.length());
	   System.out.println("文件的父路径"+f.getAbsolutePath());
	   try {
		   boolean tt=true;
		  
		   Scanner cin = new Scanner(f);
			  double num=0;
			  cin.useDelimiter("[^0123456789.]+");
			  double sum=0;
		   while(cin.hasNextDouble()) {
		       num++;
			   Double price = cin.nextDouble();
			   System.out.println("商品价格"+num+":"+price);
			   sum+=price;
		   }
			 System.out.println("平均价格:"+sum/num);
		   
		   }catch(FileNotFoundException e){
		   e.printStackTrace();
		   System.out.println("不能打开文件");
		   }
		   
	   }
      }
4.我的运行结果:

总结

有了上次经验教训,特地加上了文字描述

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/446178.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号