原本的代码运行正常,但复制过来后加上for循环就出现问题。字段名称和字段类型一起出现,输入值也只能给字段名称。去掉for循环后恢复正常,这下代码。 List<Eth> es = new ArrayList<Eth>(); System.out.println("请输入字段数量:"); int time = sc.nextInt(); String url=" "; for(int j=0;j<time;j++){ String N; String L; int C; System.out.print("请输入字段名称:"); N=sc.nextLine(); System.out.print("请输入字段类型:"); L=sc.nextLine(); System.out.print("请输入字段长度:"); C=sc.nextInt(); } }}
这个问题在于你使用了nextInt这个方法
nextInt读取数字之后,并不会读取到换行,因此你使用nextLine的时候会遇到换行而读取到一个空白的字符。
那要如何解决呢?还有其他方法获得int型的值吗
追答方法一:在nextInt的后面多加一行的nextLine
方法二:直接用nextLine获取String,然后用Integer类的parseInt()方法把String转换成int