如何修复java.util.NoSuchElementException

时间:2019-05-01 23:32:17

标签: java stringtokenizer

我正在做作业,并且正在通过控制台使用输入值。该程序尚未接近完成,我只是想使输入系统正常工作。我遇到了一个问题,我看到其他人也遇到了其他代码,但是我不知道如何在这种情况下实现它们。

以以下格式输入: 4-数据行数 5 6-Datapeices 5 6-Datapeices 5 6-Datapeices 5 6-Datapeices

我正在尝试创建一个长度为1 * 2的数组,然后将其存储在数组中。每隔一个数据行,我就要下线了。

导入java.io。*;

import java.util.StringTokenizer;

DispatchQueue.main.async { 
   self.wantedCARDSET = item 
   self.setPickerView.reloadAllComponents()
}

1 个答案:

答案 0 :(得分:0)

我在代码中看到3个问题:

  1. 您尝试初始化大小奇怪的数组。 new int [Integer.parseInt(st.nextToken())*2]-> new int [st.countTokens()]

  2. 在这种情况下,您尝试从控制台读取嵌套行,并且该行可以为空。但是,当没有令牌时,您尝试读取下一个令牌。还有st = new StringTokenizer(br.readLine());中的问题-因此您必须添加检查:st.hasMoreTokens()。您可以将其放在for语句中。

  3. 正如我想的那样,您想使用toString()打印数组内容-它无法按预期工作。使用System.out.println(Arrays.toString(arr));