为了账号安全,请及时绑定邮箱和手机立即绑定

Java:从txt文件计算平均值的问题

Java:从txt文件计算平均值的问题

慕丝7291255 2022-09-01 18:04:42
大家好,第一个帖子在这里!我目前有一些问题与我的readfromfile()计算平均值我的问题是它打印十个数字“粘在一起”像12345678910我不明白我如何计算这样的平均值,我尝试了token / 10,它返回0000000000任何建议从这个混乱中获得平均值?我尝试返回带有%n%s的令牌,这看起来更好,但是当我除以10时,它仍然没有给我一个正确的数字,我做错了什么package average;import java.io.FileNotFoundException;import java.io.IOException;import java.nio.file.Paths;import java.util.Formatter;import java.util.InputMismatchException;import java.util.Scanner;public class average {    private static Formatter output;    private static Scanner input;    public static void main(String[] args) {        openFileWrite();        writeToFile();        closeFile();        openFileRead();        readFromFile();        closeFileRead();    }    public static void openFileRead() {      // gets file for "read"        try {            input = new Scanner(Paths.get("Numbers.txt"));        } catch (IOException e) {            System.out.println("Unable to read file");        }    }    public static void openFileWrite() {     // gets file for "write"        try {            output = new Formatter("Numbers.txt");        } catch (FileNotFoundException e) {            System.out.println("Unable to open file");        }    }    public static void readFromFile() {        while (input.hasNextInt()) {            int token = input.nextInt();            System.out.print(token);        }    }    public static void writeToFile() {        Scanner input = new Scanner(System.in);        System.out.println("Enter 10 numbers");        try {            for (int i = 0; i < 10; i++) {                System.out.println("Another Number Please");                int total = input.nextInt();                output.format("%s%n", total);            }        } catch (InputMismatchException e) {            System.out.println("Please do not enter any letters");            writeToFile();        }    }
查看完整描述

1 回答

?
眼眸繁星

TA贡献1873条经验 获得超9个赞

只需将你的 readFromFile 方法更改为:-


public static void readFromFile() {

        double average = 0;

        while (input.hasNextInt()) {

            int token = input.nextInt();

            average+=token;

        }

        System.out.println("Average ="+average/10);

}


查看完整回答
反对 回复 2022-09-01
  • 1 回答
  • 0 关注
  • 98 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信