だから私はプログラミングの初心者で、問題が何であるかを理解しようとしています.
以下の機能。問題は、scan.hasNext()
私が2つ持っている方法にありますprintln
trueまたはfalseを返すかどうかを示すステートメント (スキャンを作成した直後と 2 番目のメソッドに 1 つ) 。奇妙なことはscan.hasNext()
コードはそのまま while ループに入りますが、これは起こるべきことですが、
println
ループに入らないステートメントの1つを削除し、もう1つのステートメントを出力します
ステートメントscan.hasNext()
はfalseであることを示しています。
print ステートメントを消去する以外は何も変更しないため、これは奇妙です。さらに私は
合計 3 つの print ステートメントにもう 1 つ追加すると、再び false になります。
4 番目を追加します。これもまた true です。
「カーソル」があるべき場所をたどる方法がわかりません。
public void createFile(String filename){
final File file = new File(filename);
try{
scan = new Scanner(file);
**System.out.println(scan.hasNext());**
buff = new BufferedWriter(new FileWriter(filename), 1);
}
catch(Exception e1){
try{
buff = new BufferedWriter(new FileWriter(filename));
scan = new Scanner(file);
}
catch(Exception e2){
System.out.println("Error trying to create file");
}
}
}
public String readFile(){
String fileContents = "";
**System.out.println(scan.hasNext());**
if(scan.hasNext())
while(scan.hasNext())
fileContents = fileContents + scan.next()+" "+scan.next()+" "+scan.next();
return fileContents;
}