第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

找出輸入文本文件的最小值、最大值、總數(shù)并將其寫入新的輸出文本文件?

找出輸入文本文件的最小值、最大值、總數(shù)并將其寫入新的輸出文本文件?

動(dòng)漫人物 2021-12-10 15:21:29
package file_handling;import java.io.File;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.PrintWriter;import java.util.Scanner;public class WriteToFile {public static void main(String[] args) {      int currentNumber, sum = 0, numberCount=0;      FileReader infile;       Scanner input = new Scanner(System.in);      File file2 = new File("D:/test1.txt");      input = new Scanner(file2);        int min;        int max;      while (input.hasNextInt()){        currentNumber = input.nextInt();        sum+=currentNumber;        numberCount++;        if(currentNumber < min) {            min= currentNumber;        }        if(currentNumber > max) {            max = currentNumber;         }      }      System.out.println("Min: " + min);      System.out.println("Max: " + max);      System.out.println("Total: " + sum);    File file1 = new File("D:/test.txt");    try {        PrintWriter output = new PrintWriter(file1);        output.write(max, min, sum);        output.close(); //don't forget this method     } catch (FileNotFoundException e) {        System.out.println(e.getMessage());    }}}輸入.txt:9.2211.55-2.2116.9522.11-5.11根據(jù) input.txt 的內(nèi)容,我試圖編寫一個(gè)程序來(lái)找出最大數(shù)量、最小數(shù)量和這些數(shù)字的總和,并將結(jié)果寫入一個(gè)名為 output.txt 的文件中。輸出.txt:Min:Max:Total:我必須使用 Scanner 類從文件中讀取,并使用 PrintWriter 類寫出到文件。我不確定我做錯(cuò)了什么,有人可以幫助我嗎?我在第 44 行收到此錯(cuò)誤:output.write(max, min, sum);線程“main”java.lang.Error 中的異常:未解決的編譯問題:PrintWriter 類型中的方法 write(char[], int, int) 不適用于參數(shù) (int, int , 整數(shù))在 file_handling.WriteToFile.main(WriteToFile.java:44)
查看完整描述

3 回答

?
慕容森

TA貢獻(xiàn)1853條經(jīng)驗(yàn) 獲得超18個(gè)贊

有幾個(gè)問題:


您的代碼將無(wú)法編譯,因?yàn)闆]有方法PrintWriter 將(int, int, int). 您可以使用該方法 write(String s)來(lái)實(shí)現(xiàn)相同的目的。


output.write(String.valueOf("Min: " + min + "\n\nMax: " + max + "\n\nTotal : " + sum));

該文件作為字節(jié)序列讀取,因此您需要使用 input.hasNextLine()讀取每一行。使用您當(dāng)前的代碼,您的 while 循環(huán)不會(huì)被執(zhí)行。接下來(lái),您需要將每個(gè)String轉(zhuǎn)換為Double。所以你的while循環(huán)需要調(diào)整為如下:


while (input.hasNextLine()) {

    String currLine = input.nextLine(); 


    // check for empty spaces

    if (currLine != null && currLine.trim().length() > 0) {

        currentNumber = Double.parseDouble(currLine); 


        // same from here

        sum += currentNumber;

        numberCount++;

        if (currentNumber < min) {

            min = currentNumber;

        }

        if (currentNumber > max) {

            max = currentNumber;

        }       

    }

}

您不能使用 int 來(lái)存儲(chǔ)雙精度值。因此,將所有 int 聲明為雙倍。(也不知道你為什么使用numberCount,它可以被刪除。)


double currentNumber, sum = 0, numberCount = 0, min = 0, max = 0;


查看完整回答
反對(duì) 回復(fù) 2021-12-10
?
蕭十郎

TA貢獻(xiàn)1815條經(jīng)驗(yàn) 獲得超13個(gè)贊

如果您可以使用 Java 8 或 Java 9,您可以編寫更短更簡(jiǎn)單的代碼:


  public static void main(String[] args) throws IOException {

    DoubleSummaryStatistics statistics = Files

      .lines(new File("./test1.txt").toPath())

      .filter(l -> !l.isEmpty())

      .mapToDouble(Double::parseDouble)

      .summaryStatistics();


    double min = statistics.getMin();

    System.out.println("Min: " + min);

    double max = statistics.getMax();

    System.out.println("Max: " + max);

    double sum = statistics.getSum();

    System.out.println("Total: " + sum);


    Files.write(new File("./test2.txt").toPath(), List.of(Double.toString(min), Double.toString(max), Double.toString(sum)));

  }

該NIO的API定義了文件,也可以用來(lái)處理類和方法,工程結(jié)束文件(資源)。


所述流-API具有的類和方法來(lái)處理元素。要計(jì)算雙精度流 ( DoubleStream)的總和、最大值和最小值,我們可以使用 方法DoubleStream.summaryStatistics()。


如果您不能使用 Java 9,請(qǐng)使用Arrays.asList()代替List.of()


查看完整回答
反對(duì) 回復(fù) 2021-12-10
?
撒科打諢

TA貢獻(xiàn)1934條經(jīng)驗(yàn) 獲得超2個(gè)贊

使用 printf 而不是寫:


output.printf("Max:  %d\n", max);

output.printf("Min:  %d\n", min);

output.printf("Total:  %d\n", sum);


查看完整回答
反對(duì) 回復(fù) 2021-12-10
  • 3 回答
  • 0 關(guān)注
  • 222 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)