相关疑难解决方法(0)

在使用next()或nextFoo()之后,Scanner正在跳过nextLine()?

我正在使用这些Scanner方法nextInt()nextLine()阅读输入.

它看起来像这样:

System.out.println("Enter numerical value");    
int option;
option = input.nextInt(); // Read numerical value from input
System.out.println("Enter 1st string"); 
String string1 = input.nextLine(); // Read 1st string (this is skipped)
System.out.println("Enter 2nd string");
String string2 = input.nextLine(); // Read 2nd string (this appears right after reading numerical value)
Run Code Online (Sandbox Code Playgroud)

问题是输入数值后,第一个input.nextLine()被跳过而第二个input.nextLine()被执行,所以我的输出如下所示:

Enter numerical value
3   // This is my input
Enter 1st string    // The program is supposed to stop here and …
Run Code Online (Sandbox Code Playgroud)

java io java.util.scanner

627
推荐指数
17
解决办法
45万
查看次数

扫描仪与BufferedReader

据我所知,从Java文件中读取基于字符的数据的两种最常用的方法是使用ScannerBufferedReader.我也知道BufferedReader通过使用缓冲区来有效地读取文件以避免物理磁盘操作.我的问题是:

  • 是否Scanner执行以及BufferedReader
  • 你为什么选择Scanner,BufferedReader反之亦然?

java file-io bufferedreader java.util.scanner

267
推荐指数
8
解决办法
25万
查看次数

扫描方法获取char

在Java中用键盘返回的Scanner方法是什么?char

喜欢nextLine()String,nextInt()int

java char java.util.scanner

14
推荐指数
1
解决办法
12万
查看次数

为什么Java要我再次按Enter键?

我一直试图理解Scanner的工作方式,一直绞尽脑汁.所以这是代码:

Scanner sc = new Scanner(System.in);
String s = sc.nextLine();
String p = sc.nextLine();
System.out.println(s);
System.out.println(p);
System.out.println(sc.hasNextLine());
Run Code Online (Sandbox Code Playgroud)

期待的是:

Love is good  <- press ENTER
Love is blind <- press ENTER
Love is good  <- output
Love is blind <- output
false
Run Code Online (Sandbox Code Playgroud)

什么:

Love is good   <- I press ENTER
Love is blind  <- I press ENTER
Love is good   <- output
Love is blind  <- output
<- press ENTER
true <- output
Run Code Online (Sandbox Code Playgroud)

不明白的是:

  1. 而不是立即打印此行 …

java java.util.scanner

14
推荐指数
5
解决办法
2474
查看次数

标签 统计

java ×4

java.util.scanner ×4

bufferedreader ×1

char ×1

file-io ×1

io ×1