我只是想知道,我是否正确地解释了代码?有关从文件读取时跳过备用行的说明?
文件Bharath.txt
有以下内容:
Hello ! B . We created your file succesfully . We have updated you file , Sir ! Bharath Nikhil Friends Indeed
考虑下面的代码:
import java.util.Scanner;
import java.io.*;
class FilInpStr
{
public static void main(String arg[]) throws Exception
{
FileInputStream obj=new FileInputStream("Bharath.txt");
Scanner input=new Scanner(obj);
String n="";
while((n=input.nextLine())!=null)
{
System.out.println(n);
}
}
}
上面的代码工作得很好这样。但是当我不考虑将input.nextLine()
存储在String
中时,它开始交替地跳过行。它是否将键盘上的输入为作为输入?
所以,当我按输入,它也通过转义序列作为输入,这就是为什么它跳过一个,并打印另一个?
还有一个疑问是关于while循环:Is是一行被浪费,而比较它是否为null?
- 巴拉斯
- 尼基尔
- 朋友的确
所以,当我引用:
while((input.nextLine()) != null)
{
System.out.println(input.nextLine());
}
它会检查是否Bharath
== null或没有,如果没有,它只会打印Nikhil
?并且后Nikhil
,它将跳过下一行,因为它需要输入作为转义序列。
请纠正我!我可能混淆了两种不同的方法。因此,初学者。
此外,请区分将input.nextLine()
转换为String
并作为独立代码的区别。
要增加更多,是否正确地说:它使用两次:“一旦进入”而“一旦进入身体内部”就像两个单独的陈述?并不一样。我的意思是,虽然是第一次,身体是第二次,再次是第三次,而第四次是身体再次? – 1ambharath
@ 1ambharath:一旦进入*条件*并且一次进入*主体*。身体仍然在while语句中......这是while语句的主体*。 –
好的。所以,当我用input.nextLine()初始化字符串时,我基本上是在同一个语句中传递同样的语句。不同于前面的代码,它会被执行两次。因此,它工作得很好。对 ? – 1ambharath