Acm上的题,求整数位java方法,实际运行为什么显示运行错误?

 

import java.util.*;
public class Main_2intbit {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner reader=new Scanner(System.in);
		while(reader.hasNextInt())
		{
		int n=reader.nextInt();
		String s=String.valueOf(n);
		System.out.println(s.length());
		for(int x=0;x<s.length();x++) {
			System.out.print(s.toCharArray()[x]+" ");}
		System.out.print("\n");
		for(int y=s.length()-1;y>=0;y--) {
			System.out.print(s.toCharArray()[y]+" ");
		}
		reader.close();
		}
		
	}

}

纯小白,请大佬们稍微指点一下/(ㄒoㄒ)/~~

你把 reader.close(); 删掉,或者放在 while 循环外面

public static void main(String[] args) {
		Scanner reader=new Scanner(System.in);
		while(reader.hasNextInt())
		{
			int n=reader.nextInt();
			String s=String.valueOf(n);
			System.out.println(s.length());
			for(int x=0;x<s.length();x++) { 
				System.out.print(s.toCharArray()[x]+" ");}
			System.out.print("\n");
			for(int y=s.length()-1;y>=0;y--) {
				System.out.print(s.toCharArray()[y]+" ");
			}
		}
        //scanner在程序运行结束后关闭
		reader.close();
	}

 

报错信息一起发出来看下吧

删除reader.close();语句试试。

我先回答的,你看不到?搞不懂你们提问人在想啥

  

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632