import java.io.*;
import java.util.*;
public class chopMiddle {
public static void main(String[] args) {
String sample = "1,2,3,4,5";
StringTokenizer tokenizer = new StringTokenizer(sample, ",");
while(tokenizer.hasMoreTokens()) {
int convertedToInt = Integer.parseInt(tokenizer.nextToken());
int [] array = new int [3];
for(int i = 0; i < array.length; i++)
{
array[i] = Integer.parseInt(tokenizer.nextToken());
System.out.println(array[i] + " ");
}
}
}
}
我尝试将字符串分解为标记并使用 Integer.parseInt
方法将标记转换为 int
值。
我想返回一个大小为 3 的数组,其中包含从字符串到调用方的第 2 个到第 4 个整数的 int 值。我做错了什么,因为它在我编译时显示以下消息
Exception in thread "main" java.util.NoSuchElementException
at java.util.StringTokenizer.nextToken(StringTokenizer.java:349)
at chopMiddle.main(chopMiddle.java:18)
最佳答案
问题是当它到达第 5 个标记时,它会读取它,然后创建一个新数组并尝试再读取 3 个。
读完第 2、3 和 4 之后,您应该打破这两个循环。
关于java - 为什么线程 "main"java.util.NoSuchElementException 中出现异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40987696/