[equals和hasNext的java用法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[equals和hasNext的java用法相关的知识,希望对你有一定的参考价值。
为什么此代码不停止? “ scanner.equals(null)”和“ scanner.hasNext()== false”不是同一角色还是至少是同一角色?
import java.io.*;
import java.util.*;
import java.text.*;
import java.math.*;
import java.util.regex.*;
public class Solution {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int i = 1;
while(true) {
if(scanner.equals(null))
break;
else {
String line = scanner.nextLine();
System.out.println(i + " " + line);
i++;
}
}
}
}
答案
scanner.equals(null)
将始终返回false。它检查对象实例是否为空,否则为空。相比之下,scanner.next()
检查扫描程序是否可以找到令牌。
无论如何,您正在使用nextLine
方法,因此您应该使用hasNextLine
,而不是hasNext
:
while(scanner.hasNextLine()) {
String line = scanner.nextLine();
System.out.println(i + " " + line);
i++;
}
以上是关于[equals和hasNext的java用法的主要内容,如果未能解决你的问题,请参考以下文章