gpt4 book ai didi

Java,从文件中读取两种不同类型的变量并稍后将它们用作对象

转载 作者:行者123 更新时间:2023-12-02 11:55:28 27 4
gpt4 key购买 nike

我正在开发一个项目,该项目基于从文件中读取文本并将其作为对象放入我的代码中。

我的文件包含以下元素:(忽略要点)

  • 4
  • 圣诞派对
  • 20
  • 情人节
  • 12
  • 复活节
  • 5
  • 万圣节
  • 8

第一行声明我的文本文件中有多少个“派对”(顺便说一句,是 4 个)每个队伍都有两行 - 第一行是名称,第二行是可用名额。

例如,圣诞派对有 20 个空位

这是我将文件中的信息保存为对象的代码。

public class Parties
{
static Scanner input = new Scanner(System.in);


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

Scanner inFile = new Scanner(new FileReader ("C:\\desktop\\file.txt"));

int first = inFile.nextInt();
inFile.nextLine();


for(int i=0; i < first ; i++)
{
String str = inFile.nextLine();
String[] e = str.split("\\n");

String name = e[0];
int tickets= Integer.parseInt(e[1]); //this is where it throw an error ArrayIndexOutOfBoundsException, i read about it and I still don't understand

Party newParty = new Party(name, tickets);
System.out.println(name+ " " + tickets);
}

这是我的 SingleParty 类:

public class SingleParty
{
private String name;
private int tickets;


public Party(String newName, int newTickets)
{
newName = name;
newTickets = tickets;

}

有人可以向我解释一下我该如何解决这个错误吗?

谢谢

最佳答案

str 仅包含政党名称,将其拆分不起作用,因为其中没有 '\n'。

循环内应该是这样的:

String name = inFile.nextLine();
int tickets = inFile.nextInt();

Party party = new Party(name, tickets);

// Print it here.

inFile().nextLine(); // for flushing

关于Java,从文件中读取两种不同类型的变量并稍后将它们用作对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47636379/

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