【发布时间】:2021-09-05 00:49:16
【问题描述】:
我将阅读文件并编制销售人员的运行总数,以及他们对每个单独产品的总数和每个产品的总总数。我必须将所有这些存储在一个二维数组中(不允许使用列表)并以某种格式打印。
文本文件是这样记录的:
1,4,10.20
2,2,17.20
etc
etc
第 1 列是 personID 第 2 列是产品编号 第 3 列是金额
我的代码尝试将每一行拆分为一个字符串,然后将每个值进一步拆分为一个索引,然后将其存储在一个二维数组中。我觉得很傻,但我遇到了转换错误。无论我做什么,我都无法使数组存储量以可接受的格式。由于某种原因,我无法将数组创建为双精度数组。当我尝试编译时它返回终止。我的教授说整数应该可以,但我根本无法准确求和。
package HW1;
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class salesList {
public static void main(String[] args) throws FileNotFoundException{
Scanner salesList;
salesList = new Scanner(new File("C:\\Users\\mjwag\\OneDrive\\cs151/salesList.txt"));
while (salesList.hasNext()) {
Scanner file = salesList;
file.nextLine();
String line = file.nextLine();
String[] lineArray = line.split(",");
int personID = Integer.parseInt(lineArray[0]);
int product = Integer.parseInt(lineArray[1]);
int amount = Integer.parseInt(lineArray[2]);
int [][] sales = new int[4][6];
sales[personID-1][product-1] += amount;
}
}
}
【问题讨论】:
-
每次迭代都会重新创建销售数组。将其保留在循环之外以保留处理的每一行的“更改”。我强烈建议习惯使用调试器并逐行执行代码。如果您需要任何具体建议,请告诉我,欢迎来到编程世界:)
-
你的意思是循环外的数组实例化吗?
标签: java parsing java.util.scanner