注册 登录
编程论坛 JAVA论坛

求教一个字符读取的问题

圣域2000A 发布于 2016-09-08 23:00, 1465 次点击

为什么读取的时候如果再敲完数字之后回车,下一句s.nextLine()就无法读取到东西了呢?
源代码:
import java.util.*;
public class Main{
  public static void main(String[] args){
    Scanner s = new Scanner(System.in);
    int t = s.nextInt();
    String str = s.nextLine();
    for(int i = 0;i < t;++i){
    System.out.print(str);
    }
  }
}
4 回复
#2
圣域2000A2016-09-08 23:02
比如我从键盘输入 5 acdd
输出就是 acdd acdd acdd acdd acdd
但是要是从键盘输入5 之后回车,代码就运行不下去了
#3
南中浔2016-09-10 20:22
其实你可以尝试,把string类型放在int类型上面试试,你就会知道问题了
#4
a10436352232016-09-11 10:38
回复 楼主 圣域2000A
import java.util.*;
public class Main{
  public static void main(String[] args){
    Scanner s = new Scanner(System.in);
    int t = s.nextInt();
    String str0 = s.nextLine();
    String str = s.nextLine();
    for(int i = 0;i < t;++i){
    System.out.print(str);
    }
  }
}
在str之前在加上一个nextLine就好了,具体原因我也不知道,只知道第一个nextLine()不会起作用
#5
moondown2016-09-11 11:11
建议看看next();和nextLine();的区别。
1