gpt4 book ai didi

java - 字符串行数限制?

转载 作者:行者123 更新时间:2023-12-01 13:17:11 25 4
gpt4 key购买 nike

我正在编写一个方法,该方法将从文本文件中读取并告诉该文本文件中有多少人出生在 1920 年至 1984 年(含)内,但由于某种原因,它最多只能存储 45 行。

private Buffin itsFile = new Buffin("workers.txt");
private static final int TIME_SPAN = 65;
private static final int YEAR = 1920;

public String countBirthYears()
{
try
{
int[] count = new int[TIME_SPAN];

//== READ THE WORKER DATA AND UPDATE THE COUNTS
Worker data = new Worker(itsFile.readLine());
while(data.getName() != null)
{
if((data.getBirthYear() - YEAR) >= 0 && (data.getBirthYear() - YEAR) <= 1984){
int lastDigit = data.getBirthYear() % 10;
count[lastDigit]++;
}

data = new Worker(itsFile.readLine());
}

//== CONSTRUCT THE STRING OF ANSWERS
String s = "";
for(int k = 0; k < TIME_SPAN; k++)
s += (YEAR + k) + " : " + count[k] + " workers\n";
return s;
}catch(Exception e){JOptionPane.showMessageDialog(null, e); return "";}
}

如果有人能向我解释为什么会发生这种情况以及如何解决它,我将不胜感激。谢谢:)

最佳答案

好吧,这实际上并不是一个真正的答案,但我想解决您代码中的一些问题,希望它可以帮助您:

1.

if((data.getBirthYear() - YEAR) >= 0 && (data.getBirthYear() - YEAR) <= 1984)

实际上并不检查 1920 年到 1984 年之间的出生年份,但它包括 1920 年到 3904 年之间的所有年份

我想你的意思是:

if((data.getBirthYear() - YEAR) >= 0 && (data.getBirthYear() - YEAR) <= TIME_SPAN)

2.

int lastDigit = data.getBirthYear() % 10;
count[lastDigit]++;

实际上将 1973 年出生的人和 1983 年出生的人相加(例如)...这是您真正想要的吗?

也许问题不在于字符串限制,但逻辑中可能有问题......

关于java - 字符串行数限制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22374053/

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