当前位置: 首页 > 知识库问答 >
问题:

如何在文本文件中查找最长和最短的行?

朱高超
2023-03-14

我正在写一个程序,使用扫描仪的方法读取文本文件,并输出:字数,句子数,平均每个句子的字数,最长的句子和最短的句子。到目前为止,除了最长和最短的句子,我什么都知道了,我似乎想不出来。这是我目前所掌握的...

import java.util.Scanner;
import java.io.*;
import java.io.IOException;
public class TestScanner {
  public static void main(String args[])
  {     Scanner in = new Scanner(System.in);
        String x = in.next();
        double count=0;
        int nbSentences = 0;
        while(in.hasNext())
        {   String word = in.next();
            nbSentences +=getNbSentences(word);
            count++;
        }
        System.out.println("Number of Words: "+ count);
        System.out.println("Number of Sentences: " + nbSentences);
        System.out.println("Average Words In Sentence: " + (count/nbSentences));
        System.out.println("Longest Sentence: ");
        System.out.println("Shortest Sentence: ");
 }
 //**************************number of sentences*********************************
 public static int getNbSentences(String word) 
 {         int result = 0;
       char[] chars = word.toCharArray();
       for(Character c : chars) 
       {    if(c == '.' || c == '!' || c == '?') 
            {   result++; 
            }
       }
       return result;
 }
 //*************************Longest Sentence*************************************


 //This is where I'm stuck....

}

如果有人能帮上忙,我将感激不尽!!

共有1个答案

韦熙云
2023-03-14

Pseodo代码:

  1. 将第一句设置为最长和最短。
  2. 遍历所有句子,将它们与最短和最长的句子进行比较。
  3. 如果发现比最短的句子更短的句子,请将其用作最短的。
  4. 如果发现比longt更长的句子,请将其用作longth。
 类似资料:
  • 我有一个一般性的问题,关于如何在边没有权的无向图中找到最短路径和最长路径。 我们需要使用DFS算法来寻找图中的最长路径,而我们需要使用BFS算法来寻找图中的最短路径,这是一个正确的结论吗?

  • 你好,我需要找到文件中最长的单词出现的行号。如果有两个或两个以上长度相同的单词,那么只跟踪第一个。我已经跟踪了最长的单词,但我需要帮助找出最长的单词在哪里。这是我找到最长单词的代码:

  • 问题内容: 我正在运行Python 2.7。 我有三个文本文件:,,和。现在,包含我要搜索的几行并将该部分替换为中的内容。这是一个简单的示例: data.txt find.txt replace.txt 所以,在上面的例子中,我要搜索的所有出现,以及在数据和更换这些线路。 我在使用正确的方法时遇到了一些麻烦,因为我的内存大约为1MB,所以我想尽可能地提高效率。一种愚蠢的方法是将所有内容连接成一个长

  • 作为这个问题的一部分,我需要找到: 数字的数量(计数) 数字之和(sum) 数字的平均值(平均值) 哪些数字是偶数(偶数) 哪些数字是奇数(赔率) 我尝试在while循环中执行此操作: 其思想是,当while循环迭代时,它会将它通过的数字与最大值进行比较,并将它在计数中找到的最大值与最大值进行匹配,如果它找到的数字大于最大值,则成为新的最大值。对最小的也是同样的想法。 但它并不起作用。我该怎么办?

  • 问题内容: 我正在使用JSch从SFTP服务器获取文件,但是我试图找出一种方法来仅获取最旧的文件,并确保当前未将其写入。我想象自己这样做的方式是,首先找到指定远程文件夹中哪个文件最旧。然后,我将检查文件大小,等待x秒(大约10秒,为了安全起见),然后再次检查。如果文件大小没有更改,我将下载文件并进行处理。但是,我不知道该怎么做!如果有人知道如何执行此操作,或者知道其他支持具有此内置SFTP的功能(

  • 问题内容: 我正在编写一个Python备份脚本,需要在目录(及其子目录)中找到最旧的文件。我还需要仅将其过滤为* .avi文件。 该脚本将始终在Linux计算机上运行。有什么方法可以在Python中完成,还是运行一些Shell命令会更好? 目前,我正在努力获取特定分区上的可用空间,如果可用空间不足5 GB,我想开始删除最旧的文件,直到满足该条件为止。 问题答案: 嗯 Nadia的答案是接近你什么