java 错误输出_Java中的字数统计错误输出
我是Java新手。
我编写了一个代码来计算文件中特定单词的出现次数。要向用户询问要计算的单词。我写了两个代码。第一个代码运行正常,计数正确。而在第二个代码中,计数较少。我无法弄清楚原因。有人可以帮我找到第二个代码中的缺陷吗?
从文件中读取的段落和两个代码如下所示。
段落:
在文字处理和桌面发布中,硬回车或分段符表示新段落,以区别于段落内部行末尾的软回车。这种区别允许自动换行在编辑时自动重新流动文本,而不会丢失分段符。软件可以在段落中应用垂直空格或缩进,具体取决于所选的样式。
实际存储此类文档的方式取决于文件格式。例如,HTML使用
标记作为段落容器。在纯文本文件中,有两种常见格式。预格式化文本将在每个物理行的末尾添加换行符,并在段落末尾添加两个换行符,从而创建一个空行。另一种方法是只在每个段落的末尾添加换行符,并将自动换行显示在显示或处理文本的应用程序中(如果有必要的话)。
代码1:提供正确的输出
package prac3;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.Scanner;
public class FromFile {
private String word;
FromFile() {
}
int Count(String word1) throws IOException {
this.word = word1;
String abc;
int count = 0, total = 0;
try {
BufferedReader in = new BufferedReader(
new FileReader(
"C:\\Documents and Settings\\Administrator.EGOVPC79\\Desktop\\file.txt"));
while ((abc = in.readLine()) != null) {
String abc1 = abc;
Scanner s = new Scanner(abc1);
while (s.hasNext()) {
total++;
if (s.next().equals(word)) {
count++;
}
}
}
in.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
}
System.out.println("total" + total);
return count;
}
public static void main(String[] args) throws IOException {
FromFile obj = new FromFile();
String word;
Scanner abc = new Scanner(System.in);
System.out.println("Enter the word you want to count");
word = abc.nextLine();
int count = obj.Count(word);
System.out.println("The occurence is :" + count);
}
}
代码2:这会产生错误的输出。
package prac3_2;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.Scanner;
public class File {
private String word;
private String abc1;
File() throws IOException {
String abc;
BufferedReader in = new BufferedReader(
new FileReader(
"C:\\Documents and Settings\\Administrator.EGOVPC79\\Desktop\\file.txt"));
while ((abc = in.readLine()) != null) {
abc1 = abc;
System.out.println(abc1);
}
in.close();
}
int Count(String word1) {
this.word = word1;
int count = 0, total = 0;
Scanner s = new Scanner(abc1);
while (s.hasNext()) {
total++;
if (s.next().equals(word)) {
count++;
}
}
System.out.println("total" + total);
return count;
}
public static void main(String[] args) throws IOException {
File obj = new File();
String word;
Scanner abc = new Scanner(System.in);
System.out.println("Enter the word you want to count");
word = abc.nextLine();
int count = obj.Count(word);
System.out.println("The occurence is :" + count);
}
}
java 错误输出_Java中的字数统计错误输出相关推荐
- word文档纯字数统计_如何在您的Word文档中插入字数统计
word文档纯字数统计 Word tracks certain summary information about documents, such as the number of words in ...
- java 异常 理解_java中的异常理解
java异常是java提供的用于处理程序中错误的一种机制. 所谓错误是指在程序运行的过程中发生的一些异常事件(如:除0溢出,数组下标越界,所要读取的文件不存在). 设计良好地程序应该在程序异常发生时提 ...
- java log4j记录_JAVA中使用LOG4J记录日志
在项目开发中,记录错误日志是一个很有必要功能.一是方便调试:二是便于发现系统运行过程中的错误:三是存储业务数据,便于后期分析: 在java中,记录日志,有很多种方式. 比如,自己实现. 自己写类,将日 ...
- java double 计算_Java中的Double类型计算
一.问题的提出: 如果我们编译运行下面这个程序会看到什么? public class Test{ public static void main(String args[]){ System.out. ...
- java mod %区别_Java中 % 与Math.floorMod() 区别详解
%为取余(rem),Math.floorMod()为取模(mod) 取余取模有什么区别呢? 对于整型数a,b来说,取模运算或者取余运算的方法都是: 1.求 整数商: c = a/b; 2.计算模或者余 ...
- java show过时_Java中show() 方法被那个方法代替了? java编程 显示类中信
你说的show是swing里的吧,在老版本中Component这个超类确实有show这个方法,而且这个方法也相当有用,使一个窗口可见,并放到最前面.在jdk5.0中阻止了这个方法,普遍用setVisi ...
- java io系统_java中的io系统详解
Java 流在处理上分为字符流和字节流.字符流处理的单元为 2 个字节的 Unicode 字符,分别操作字符.字符数组或字符串,而字节流处理单元为 1 个字节,操作字节和字节数组. Java 内用 U ...
- java 三大集合_java中的三大集合入门笔记(简单实用)
为什么使用集合框架 如图: 集合的好处: 集合弥补了数组的缺陷,它比数组更灵活更实用,可大大提高软件的开发效率,而且不同的集合适用于不同的场合. Java集合主要分为以下3种类型 Java集合框架提供 ...
- java 序列化实例_Java中的序列化与反序列化实例
创建的字节流与平台无关.因此,在一个平台上序列化的对象可以在另一个平台上反序列化. 为了使Java对象可序列化,我们实现java.io.Serializable可序列化接口. ObjectOutput ...
最新文章
- 享乐不尽 聚 VR一体机艳冠群雄
- 文字输入限制_输入框设计,设计样式及设计要点
- Codeforces Round #524 Div. 2 翻车记
- 电脑技巧:如何开机进入纯净的Windows系统,看完你就会了!
- C# 强大的新特性 Source Generator
- python解析pcap包已text格式输出_python分析pcap包
- epochs,batch_size,iterations详解
- cocos2dx shader 变灰 及 冰冻效果
- 计算机九宫格游戏怎么玩,《九宫格数独》怎么玩 数独玩法介绍
- 原生js自定义提示框
- Code Server 是什么?
- 无法访问网址的最基本原因分析,让你永远无法访问淘宝/京东
- 饿了么分布式服务治理及优化经验(含PPT)
- springmvc java.lang.IllegalStateException: getOutputStream() has already been called for this respon
- 计算机考研301数学一攻略,国家海洋技术中心
- Oracle 如何删除控制文件中rman备份到磁带的备份集信息(RMAN-06091)
- IP数据包的路由转发
- Python安装.whl文件流程及问题解决
- 用Adobe Reader PDF阅读器来验证电子签名有效性
- Quectel_Ec600硬件练习