我只是想知道,我是否正確地解釋了代碼?有關從文件讀取時跳過備用行的說明?
文件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