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

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

Java:使用文本文件創(chuàng)建數(shù)據(jù)集

Java:使用文本文件創(chuàng)建數(shù)據(jù)集

忽然笑 2022-06-30 17:45:38
我正在嘗試制作一個(gè)程序來獲取不同類型的美國(guó)硬幣的總數(shù),并將它們的值加起來。硬幣信息來自一個(gè)txt文件。第一行是一個(gè)整數(shù),表示數(shù)據(jù)集的數(shù)量。每個(gè)數(shù)據(jù)集都是一行,13 個(gè)整數(shù)由一個(gè)空格分隔。每個(gè)整數(shù)代表硬幣或鈔票的數(shù)量。首先是便士,然后是鎳幣,一直到百元鈔票。我迷失在我想將數(shù)據(jù)讀入程序然后做數(shù)學(xué)和總計(jì)的地方。我想我需要為每個(gè)數(shù)據(jù)集使用 arraylists,但到目前為止,我能弄清楚的是如何將整個(gè) txt 文件(在第一個(gè) int 之后)加載到單個(gè)數(shù)組列表中,而不是一組等于數(shù)據(jù)集的數(shù)量(每個(gè)文件 5 個(gè))。我是 java 和一般編程的新手,所以任何幫助表示贊賞。我想一旦我可以加載這些值,我就可以很容易地開始添加它們,但我現(xiàn)在很迷茫。這是txt文件顯示的內(nèi)容:54 0 2 3 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 01 2 3 4 5 6 7 8 9 10 11 12 134 0 2 3 10 10 2 1 2 1 10 1 10010 10 10 10 5 5 5 5 2 2 2 2 1到目前為止,這是我的代碼:import java.io.File;import java.io.*;import java.util.ArrayList;import java.util.List;import java.util.Scanner;public class CountDollarsCF {    public static void main(String[] args) throws FileNotFoundException {        System.out.println("Enter file path.");        Scanner reader = new Scanner(System.in);        String input = reader.nextLine();        File file = new File("src/" + input);        Scanner data = new Scanner(file);        int sets = 0;        sets = data.nextInt();        ArrayList<Integer> datasets;        datasets = new ArrayList<>();           while(data.hasNextInt()){            datasets.add(data.nextInt());        }        data.close();        }    }我應(yīng)該補(bǔ)充一點(diǎn),我可以使用的工具有限。我只關(guān)注 Lewis 和 Loftus 撰寫的 Java Software Solutions 的第 5 章。所以我們還沒有學(xué)習(xí)地圖、轉(zhuǎn)換、哈希圖或集合。我們只需要數(shù)組列表,并創(chuàng)建一些類。我將截?cái)嗟阶罱咏恼麛?shù),目標(biāo)是輸出如下內(nèi)容:第 1 行:0 美元第 2 行:0 美元第 3 行:2297 美元第 4 行:10289 美元第 5 行:296 美元
查看完整描述

1 回答

?
qq_花開花謝_0

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

一個(gè)不錯(cuò)的策略的提示。如果每行的總和必須以美元為單位,這是有效的。只要知道double你可能會(huì)失去一些精確度。


編輯以符合 OP 先決條件(僅ArrayList)。


try (final Scanner data = new Scanner(file)) {

    final int lines = data.nextInt();

    final Collection<Double> totalPerLine = new ArrayList<>(lines);


    for (int i = 0; i < lines; i++) {

        double sum = 0;


        for (int j = 0; j < 13; j++) {

            final int value = data.nextInt();

            sum += getDollars(j, value);

        }


        totalPerLine.add(sum);

        System.out.println("Line " + i + ": $" + sum);

    }

}

private static double getDollars(

        final int type,

        final int value) {

    switch (type) {

        case 0: // Penny

            return value / 100D;

        case 1: // Nickle

            return value / 20D;

        case 2: // Dime

            return value / 10D;

        case 3: // Quarter

            return value / 4D;

        case 4: // Half

            return value / 2D;

        case 5: // Dollar coin

        case 6: // Dollar bill

            return value;

        case 7: // Two dollars bill

            return value * 2D;

        case 8: // Five dollars bill

            return value * 5D;

        case 9: // Ten dollars bill

            return value * 10D;

        case 10: // Twenty dollars bill

            return value * 20D;

        case 11: // Fifty dollars bill

            return value * 50D;

        case 12: // A hundred dollars bill

            return value * 100D;

        default:

            return 0;

    }

}


查看完整回答
反對(duì) 回復(fù) 2022-06-30
  • 1 回答
  • 0 關(guān)注
  • 125 瀏覽
慕課專欄
更多

添加回答

舉報(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)