gpt4 book ai didi

java - 我怎样才能显示这个的输出?

转载 作者:行者123 更新时间:2023-12-02 06:32:26 26 4
gpt4 key购买 nike

我使用的文件包含名字和姓氏以及四个销售编号。我创建了一个数组。我想用所有的人员和销售数字来显示。这是文件的格式。

Willow Mary
154 189.5 95 76 63.51

这就是我正在尝试的。它一直到我的捕获 block 。

import java.io.File;
import java.util.Scanner;


public class Assignment10 {
public static final int NUM_SALESPEOPLE = 20;

public static void main(String[] args) {

SalesPerson[] list = new SalesPerson[NUM_SALESPEOPLE];

try {
int people = 0;
Scanner fileInput = new Scanner(new File("A10.txt"));

while (fileInput.hasNext()) {
String firstName = fileInput.nextLine();
String lastName = fileInput.nextLine();
double firstSales = fileInput.nextDouble();
double secondSales = fileInput.nextDouble();
double thirdSales = fileInput.nextDouble();
double fourthSales = fileInput.nextDouble();

SalesPerson person = new SalesPerson(firstName, lastName,
firstSales, secondSales, thirdSales, fourthSales);
list[people] = person;
people++;

}
} catch (Exception ex) {
System.out.println("Error opening file.");
}

最佳答案

如果您的文件是您所说的格式,那么当您读取每个人时,您会读取太多行。这段代码:

String firstName = fileInput.nextLine();
String lastName = fileInput.nextLine();

从文件中读取两行,但名称显示在一行上。当您到达文件末尾的三行以内时,或者(更有可能)尝试将包含名称的行解析为 double 值时,您可能会用完行。

在读取 double 后,您还需要消耗所有尾随空白(包括换行符)。尝试 fileInput.skip("\\w");

相反,将整行 double 作为单行读取,并用代码将其分开(例如,使用 split(" "))或通过其他方式进行解析。

关于java - 我怎样才能显示这个的输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19942723/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com