当前位置: 首页 > 知识库问答 >
问题:

为什么我不能在Java中调用nextLine()方法两次?

汪胡非
2023-03-14
Scanner scan = new Scanner(System.in);
int count = scan.nextInt();
String string1 = scan.nextLine();

我知道string1将包含一个空字符串。我的问题是为什么像下面这样两次调用nextLine方法会出现错误:

String string1 = scan.nextLine().nextLine();

共有1个答案

耿志义
2023-03-14

这里:

String string1 = scan.nextLine().nextLine();

让我们把它拆开:

String string1 = scan.nextLine()

调用扫描程序上的NextLine()。它返回一个字符串。

String string1 = someOtherString.nextLine(); 

请记住:扫描器返回一个字符串,这是两个非常不同的对象。

如果你从一个盒子里拿出一个鸡蛋,你为什么会期望你能从你得到的那个鸡蛋里拿出另一个鸡蛋呢?!你可以从同一个盒子里取出两个鸡蛋,但不能从一个鸡蛋里取出一个鸡蛋。

最后:是的,这里有一个“流畅的”API,它允许以“这样”的方式链接方法调用。但这只能适用于明确为此而设计的场景。

 类似资料: