Mong các cao nhân chỉ giáo ~~

Tình hình là e có 1 bài về nhà môn java, mà tìm hiểu hoài, test các kiểu rồi mà ko ra. Bác nào có giải pháp hoặc code luôn cho e thì càng tốt :D

Đề : Cho biết file văn bản data.txt chứa một dãy các số nguyên với số lượng chưa biếttrước, mỗi số cách nhau một khoảng trắng. Hãy viết chương trình đọc file trên và in ra
màn hình giá trị tổng và trung bình cộng của dãy số trong file đó.

plz plz
 

snowolf901

Tuyết Lang
read file vào string, từ string split ra list (hoặc mảng) bằng ký tự trống, chuyển thành integer, đếm rồi tính thoi
 

quanltv

Sư phụ của ADMIN
read file vào string, từ string split ra list (hoặc mảng) bằng ký tự trống, chuyển thành integer, đếm rồi tính thoi
Hỏi ngu: thế tính tổng và trung bình cộng các số đó như thế nào hả bác :gian:
 
Mã:
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.text.DecimalFormat;


public class Test2 {
    public static void main(String[] args) {
        try {
            String input = "data.txt";
            FileInputStream fis = new FileInputStream(new File(input));
            try (BufferedReader br = new BufferedReader(new InputStreamReader(fis))) {
                String line;
                while ((line = br.readLine()) != null) {
                    line = line.trim();
                    if (line != null && !line.isEmpty()) {
                        System.out.print("Dãy số là : "+line);
                        double avg = 0;
                        int sum = 0,count=0;
                        DecimalFormat df = new DecimalFormat("0.000");
                        String [] arr = line.split(" ");
                        for(String s : arr){
                            count= count+1;
                            sum = sum +Integer.parseInt(s);
                            avg=(float)sum/count;
                        }
                        System.out.print("\nTổng dãy số là : " +sum);
                        System.out.print("\nSố phần tử trong dãy là : " +count);
                        System.out.print("\nTrung bình là : " +df.format(avg));
                    }
                }
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

- - - Updated - - -

đây là code e làm ra, để sau này ai có bài tương tự tham khảo nhé :)
 
Top