编写一个名为 "尾巴 "的应用程序,打印在标准输入上找到的最后k个字符串(假设标准输入有k个或更多字符串)。

问题描述 投票:0回答:1

下面的代码是我目前想出的上面所列的作业。如何用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();
        }
    }
    }
java java.util.scanner variable-assignment
1个回答
1
投票

这种程序的总体计划是按字数读取文件,只保留最后'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写这个是你要做的练习。

© www.soinside.com 2019 - 2024. All rights reserved.