gpt4 book ai didi

java - 用哨兵填充字符串数组

转载 作者:太空宇宙 更新时间:2023-11-04 07:54:54 24 4
gpt4 key购买 nike

所以我想做的是使用 Scanner = new Scanner(new File("list.txt")) 从文件中填充 100 个项目的数组,其中包含 30 个名称。它需要使用“DONE”标记来结束在文件底部找到的循环。

我该怎么做? array[arraySize] = value(); 给我一个类型不匹配

public class List
{
public static void main(String[] args) throws FileNotFoundException
{
double array[] = new double[100];
int arraySize = 0;
String value;
String sentinel = "DONE";

Scanner inFile = new Scanner(new File("list.txt"));
value = inFile.next();
while (value != sentinel)
{
array[arraySize] = value();
arraySize++;
value = inFile.next();
}
}
}

哦...这些错误是可耻的哈哈。谢谢大家让它工作=]

最佳答案

有一些问题,您需要更改这些行:

double array[] = new double[100]; // can't assign string to double
// (since you said "30 names", I assume
// you aren't trying to get numbers from
// the file)
...
while (value != sentinel) // this performs pointer comparison, whereas you want
// string comparison
...
array[arraySize] = value(); // value is a variable, not a function

致:

String array[] = new String[100];
...
while (!value.equals(sentinel))
...
array[arraySize] = value;

注意:此外,作为良好实践,您可能需要添加一些防御性编程检查来增强 while 循环终止条件。 (考虑当输入文件不包含哨兵时会发生什么)

关于java - 用哨兵填充字符串数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13769688/

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