鱼C论坛

 找回密码
 立即注册
查看: 70|回复: 1

[已解决]java

[复制链接]
发表于 2024-12-6 08:17:45 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
实验八:文件输入输出流
实验目的
1、掌握java I/O的基本原理。
2、掌握标准输入输出流和Scanner类的基本使用方法。
3、掌握FileInputStream、FileOutStream、FileReader、FileWriter、BufferedReader 、BufferedWriter类的常用方法。
实验内容
1、从键盘输入多行字符串(以单行“#”结束输入),存入指定文件,再从文件中读取内容输出到屏幕。
算法描述及实验步骤:

源代码:

实验运行截图:

2、解析一个文件中的价格数据,并计算平均价格,该文件的内容如下:
商品列表:
电视机,2567/台
洗衣机,3562/台
冰箱,6573/台
算法描述及实验步骤:

源代码:

实验运行截图:




实验小结




最佳答案
2024-12-6 08:18:01
实验八:文件输入输出流

实验目的
  • 掌握java I/O的基本原理。
  • 掌握标准输入输出流和Scanner类的基本使用方法。
  • 掌握FileInputStream、FileOutStream、FileReader、FileWriter、BufferedReader 、BufferedWriter类的常用方法。


实验内容

1. 从键盘输入多行字符串(以单行“#”结束输入),存入指定文件,再从文件中读取内容输出到屏幕。

算法描述及实验步骤:
  • 使用Scanner类从键盘读取输入。
  • 将输入内容写入文件,直到输入“#”结束。
  • 使用FileReader和BufferedReader从文件中读取内容。
  • 将读取的内容输出到屏幕。


源代码:
[code=java]
import java.io.*;
import java.util.Scanner;

public class FileIOExample {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        StringBuilder inputContent = new StringBuilder();
        System.out.println("请输入多行字符串,以#结束:");

        while (true) {
            String line = scanner.nextLine();
            if (line.equals("#")) {
                break;
            }
            inputContent.append(line).append(System.lineSeparator());
        }

        try (BufferedWriter writer = new BufferedWriter(new FileWriter("output.txt"))) {
            writer.write(inputContent.toString());
        } catch (IOException e) {
            e.printStackTrace();
        }

        System.out.println("文件内容:");
        try (BufferedReader reader = new BufferedReader(new FileReader("output.txt"))) {
            String line;
            while ((line = reader.readLine()) != null) {
                System.out.println(line);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
[/code]

实验运行截图:

                               
登录/注册后可看大图


2. 解析一个文件中的价格数据,并计算平均价格,该文件的内容如下:
商品列表:
电视机,2567/台
洗衣机,3562/台
冰箱,6573/台


算法描述及实验步骤:
  • 读取文件内容。
  • 解析每行数据,提取价格。
  • 计算价格总和和平均值。
  • 输出平均价格。


源代码:
[code=java]
import java.io.*;
import java.util.ArrayList;
import java.util.List;

public class PriceCalculator {
    public static void main(String[] args) {
        List<Integer> prices = new ArrayList<>();
        try (BufferedReader reader = new BufferedReader(new FileReader("prices.txt"))) {
            String line;
            while ((line = reader.readLine()) != null) {
                String[] parts = line.split(",");
                String pricePart = parts[1].split("/")[0];
                prices.add(Integer.parseInt(pricePart));
            }
        } catch (IOException e) {
            e.printStackTrace();
        }

        int sum = prices.stream().mapToInt(Integer::intValue).sum();
        double average = sum / (double) prices.size();
        System.out.println("平均价格:" + average);
    }
}
[/code]

实验运行截图:

                               
登录/注册后可看大图


实验小结
通过本次实验,掌握了Java I/O的基本操作,能够使用Scanner类进行输入,使用FileReader和FileWriter进行文件读写,并能解析文件内容进行数据处理。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2024-12-6 08:18:01 | 显示全部楼层    本楼为最佳答案   
实验八:文件输入输出流

实验目的
  • 掌握java I/O的基本原理。
  • 掌握标准输入输出流和Scanner类的基本使用方法。
  • 掌握FileInputStream、FileOutStream、FileReader、FileWriter、BufferedReader 、BufferedWriter类的常用方法。


实验内容

1. 从键盘输入多行字符串(以单行“#”结束输入),存入指定文件,再从文件中读取内容输出到屏幕。

算法描述及实验步骤:
  • 使用Scanner类从键盘读取输入。
  • 将输入内容写入文件,直到输入“#”结束。
  • 使用FileReader和BufferedReader从文件中读取内容。
  • 将读取的内容输出到屏幕。


源代码:
[code=java]
import java.io.*;
import java.util.Scanner;

public class FileIOExample {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        StringBuilder inputContent = new StringBuilder();
        System.out.println("请输入多行字符串,以#结束:");

        while (true) {
            String line = scanner.nextLine();
            if (line.equals("#")) {
                break;
            }
            inputContent.append(line).append(System.lineSeparator());
        }

        try (BufferedWriter writer = new BufferedWriter(new FileWriter("output.txt"))) {
            writer.write(inputContent.toString());
        } catch (IOException e) {
            e.printStackTrace();
        }

        System.out.println("文件内容:");
        try (BufferedReader reader = new BufferedReader(new FileReader("output.txt"))) {
            String line;
            while ((line = reader.readLine()) != null) {
                System.out.println(line);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
[/code]

实验运行截图:

                               
登录/注册后可看大图


2. 解析一个文件中的价格数据,并计算平均价格,该文件的内容如下:
商品列表:
电视机,2567/台
洗衣机,3562/台
冰箱,6573/台


算法描述及实验步骤:
  • 读取文件内容。
  • 解析每行数据,提取价格。
  • 计算价格总和和平均值。
  • 输出平均价格。


源代码:
[code=java]
import java.io.*;
import java.util.ArrayList;
import java.util.List;

public class PriceCalculator {
    public static void main(String[] args) {
        List<Integer> prices = new ArrayList<>();
        try (BufferedReader reader = new BufferedReader(new FileReader("prices.txt"))) {
            String line;
            while ((line = reader.readLine()) != null) {
                String[] parts = line.split(",");
                String pricePart = parts[1].split("/")[0];
                prices.add(Integer.parseInt(pricePart));
            }
        } catch (IOException e) {
            e.printStackTrace();
        }

        int sum = prices.stream().mapToInt(Integer::intValue).sum();
        double average = sum / (double) prices.size();
        System.out.println("平均价格:" + average);
    }
}
[/code]

实验运行截图:

                               
登录/注册后可看大图


实验小结
通过本次实验,掌握了Java I/O的基本操作,能够使用Scanner类进行输入,使用FileReader和FileWriter进行文件读写,并能解析文件内容进行数据处理。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-21 21:12

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表