Exception java.util.NoSuchElementException at java.util.StringTokenizer.nextToken(Unknown Source)

importjava.util.*;publicclassA_Sort1{publicstaticvoidmain(String[]args){Strings;Scann... import java.util.*;
public class A_Sort1
{
public static void main(String[] args)
{
String s;
Scanner scan=new Scanner(System.in);
int zu,shu;
zu=scan.nextInt();
shu=scan.nextInt();
int[][][] data=new int[zu][shu][3];
for(int i=0;i<zu;i++)
for(int a=0;a<shu;a++)
{
s=scan.nextLine();
StringTokenizer ss=new StringTokenizer(s);
data[i][a][0]=Integer.parseInt(ss.nextToken());//提示此处有错
data[i][a][1]=Integer.parseInt(ss.nextToken());
data[i][a][2]=Integer.parseInt(ss.nextToken());
}
for(int i=0;i<zu;i++)
for(int a=0;a<shu;a++)
{
System.out.print(data[i][a][0]);
System.out.print(data[i][a][1]);
System.out.print(data[i][a][2]);
System.out.println();
}
}
}
展开
 我来答
jszy2013xjl
2014-02-27 · 超过10用户采纳过TA的回答
知道答主
回答量:40
采纳率:0%
帮助的人:29.4万
展开全部
你的scan好像被关闭了
Scanner scan2=new Scanner(System.in);
s=scan2.nextLine();
追问
你的修改能够改正我的错误,但是我认为不是scan关闭了,而是是因为nextInt()函数和nextLine()的作用不同。nextInt()不会读取一行最后的那个换行符,但是nextLine()读那个换行符。结果在循环开始的第一次nextLine()读取了第二行结尾的那个换行符,而不是去读取第三行的内容。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式