gpt4 book ai didi

java - 为什么这个字符串分词器让我转换为字符串?

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:49:47 25 4
gpt4 key购买 nike

我想我将其分解为最基本的形式。如果没有,那么我深表歉意,并会尝试对其进行编辑。如果我已经将变量设置为字符串,为什么在我的 while 循环中我需要为 FirstName 转换字符串?难道我做错了什么?我尝试将 FirstName 变量设置为等于第一个标记,该标记应该是文本文件等的第一个单词。

  try
{
BufferedReader infileCust =
new BufferedReader(new FileReader("C:\\custDat.txt"));
}
catch(FileNotFoundException fnfe)
{
System.out.println(fnfe.toString());
}
catch(IOException ioe)
{
System.out.println(ioe.toString());
}
}

public static void createCustomerList(BufferedReader infileCust,
CustomerList custList) throws IOException
{
String FirstName;
String LastName;
int CustId;


//take first line of strings before breaking them up to first last and cust ID
String StringToBreak = infileCust.readLine();
//split up the string with string tokenizer
StringTokenizer st = new StringTokenizer(StringToBreak);

while(st.hasMoreElements()){
FirstName = (String) st.nextElement();
LastName = (String) st.nextElement();
CustId = Integer.parseInt((String) st.nextElement());

}

编辑:显然我可以改用 nextToken() 。但是为什么我的变量显示为未使用?它们不在while循环的范围内吗?

最佳答案

这是因为 nextElement 返回 Object。如果您调用 nextToken,则不需要转换。

来自文档:

public Object nextElement()

Returns the same value as the nextToken method, except that its declared return value is Object rather than String. It exists so that this class can implement the Enumeration interface.

编辑 关于未使用的变量:您收到警告的原因是变量已分配,但未以某种方式打印、保存或分析。如果您使用名字和姓氏添加对 writeln 的调用,警告就会消失。

关于java - 为什么这个字符串分词器让我转换为字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9253964/

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