import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); String input = null; String output = null; int end=0; String tmp=null; while (in.hasNext()) { input=in.nextLine(); //end = in.nextInt(); //此处不能使用nextInt方法,迭代器后移一位会导致下次运行时出现类型转换失败或者空指针异常 tmp = in.nextLine(); end=Integer.valueOf(tmp); output=input.substring(0,end); System.out.println(output); } } }
先上代码.本来是个比较简单的切分字符串的题目,使用nextInt方法第一次没问题,但是这个方***导致迭代器后移一位,下次运行时出现类型转换失败或者空指针异常.笔者使用了nextLine读取,然后使用包装类Integer.valueOf方法转换回int类型,使用substring方法即可切分成功.