嗨,我正在尝试显示来自名为Article.txt的文本文件中所有三个和五个字母词的数量,但是我得到的输出都是两个。我是一个初学者,我将不胜感激。谢谢!
import java.util.*;
import java.io.*;
class test
{
public static void main(String[] args) throws Exception
{
FileReader fr = new FileReader("E:\\test\\Article.txt");
Scanner s = new Scanner(fr);
String str = s.nextLine();
String[] words = str.split(" ");
int countThree = 0, countFive = 0;`
for(String word : words)
{
if(word.length() == 3)
{
countThree++;
}
else if(word.length() == 5)
{
countFive++;
}
}
System.out.println("Number of three letter words: " +countThree);
System.out.println("Number of five lettr words: " +countFive);
}
}
这是文章:
曾经有一段时间,皮特·桑普拉斯(Pete Sampras)获得14个大满贯单打冠军,而最后一次出现在2002年的美国公开赛上似乎就像是体育赛事的顶峰 男子网球成就。几乎没有人期望在接下来的16年里,在64个大满贯赛事中,不是一两个人而是三名球员会站在一起 与美国伟人并肩。周日,诺瓦克·德约科维奇(Novak Djokovic)成为第三人在阿根廷 法拉盛草原。 31岁的塞族从未像罗杰·费德勒(Roger Federer)和拉斐尔·纳达尔(Rafael Nadal)那样被视为一代才华。 奖杯数。但是没有人能像德约科维奇那样代表现代比赛。他是基于损耗基础网球的终极练习者, 他在场上高效巡逻的最好表现几乎是无敌的。在纽约超过两周的时间里,他多次达到这一高点。事实上 决赛中95分钟的第二盘是过去两年德约科维奇的缩影。时光飞逝,漫长而疲惫。但是逆境 使他充满活力,他发现了对手无法比拟的水平。 7月份他在温网凯旋归来后,最新的成功就是证据 德约科维奇在技术上,战术上和身体上都回到了自己的最佳状态。 如果要恢复男子方面的旧秩序,那就是妇女部门中新秩序的延续。这是第一次 过去六届大满贯赛事中的四场冠军和20岁的大阪直美都成为了首位赢得大满贯赛的日本人,这不拘一格。 在塞雷纳·威廉姆斯(Serena Williams),赢得了23个单打大满贯冠军,这是大阪公开赛上任何一位选手中最多的一次,他们面临着最终挑战。这也是代际 像其他人一样战斗。威廉姆斯和大阪之间的16岁年龄差距是公开赛第二大女子决赛,仅次于莫妮卡·塞莱斯(Monica Seles) 1991年美国公开赛对阵马丁娜·纳芙拉蒂洛娃的比赛。值得称赞的是,大阪没有被舞台惊呆。在成长过程中,她崇敬威廉姆斯。毕竟 这是一个选择威廉姆斯作为三年级学校论文主题的人。在星期六,她的演奏就像认识36岁的比赛一样 她的手吸收了美国人扔给她的一切东西,并使他们更加痛苦。她的成就几乎被以下方面淹没了: 威廉姆斯(Williams)挥舞着椅子主持人之后的混乱。然而,大阪人年轻时的印象是与 冷酷的冷酷表明她在这里待着。
答案 0 :(得分:1)
我假设您想按行处理文件。 目前,您仅通过执行来评估第一行
String str = s.nextLine();
对于这一行,您正在计算单词数。
您还必须计算所有其他行。