下面的代码是我目前想出的上面所列的作业。如何用java.util.在java中打印文本文件的最后一个字。我最大的困惑是在txt文件上检查完每一个刺字后要做什么,如何得到文件中的最后一个字。
import java.util.*;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
public class Tail {
public static void main(String[] args) {
// open a text file for reading
String filename = new String("hithere.txt");
Scanner sc;
try {
int wordnumber = 0;
sc = new Scanner(new File("tinytinyTale.txt"));
while (sc.hasNext() ) {
String s = sc.next();
System.out.println(s.lastIndexOf(" "));
}
sc.close();
System.out.println(s.substring(s.lastIndexOf(" ")+1)) ;
}
catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
这种程序的总体计划是按字数读取文件,只保留最后'k'字。 当你读完文件后,你所拥有的单词将是最后的'k'。
(我假设题目中的 "字符串 "是指 "单词",因为你在题干中就使用了单词。 但如果 "字符串 "是指 "行 "的话,原理不变)
用伪代码。
lastWords = list of size k, initially empty
while there is a next word to read:
w = next word from file
if lastWords is full (has k entries already):
discard oldest entry from lastWords
add w to lastWords list
print out contents of lastWords
用Java写这个是你要做的练习。