这一直困扰着我一段时间.我通常不倾向于求助并做我的研究,但我找不到答案.
如何编写读取文本文件的程序,并计算某个数字出现的次数?我是Java的初学者,也是一般的编程人员.这是我的代码.
此代码生成一个包含100个随机数的文本文件
import java.io.*;
public class Rolling
{
public static void main (String[] args) throws IOException
{
int randomNum;
PrintWriter fileout = new PrintWriter (new FileWriter ("randumnums.txt"));
for (int i= 0; i < 101; i++)
{
randomNum = (int) (Math.random() * 100);
fileout.println (randomNum);
}
fileout.close();
}
}
Run Code Online (Sandbox Code Playgroud)
现在我遇到的麻烦是我需要读取文件并编写一个代码,说X号被滚动了3次.例如,数字4在文本文件中出现了5次,所以我需要它打印"数字4被滚动5次".
import java.io.*;
public class Reading
{
public static void main (String[] args) throws IOException
{
BufferedReader readFile = new BufferedReader (new FileReader ("randumnums.txt"));
int number = 0;
int inMarks [] = new int [100];
for (int i = 0; i < 100; i++)
{
inMarks [i] = Integer.parseInt(readFile.readLine());
}
}
}
Run Code Online (Sandbox Code Playgroud)
你其实非常接近.很明显,你必须在某种列表中跟踪你的计数,并且数组在这里会做得很好.
首先,在实例化之后inMarks,将其中的每个值初始化为0:
int inMarks [] = new int [100];
for (int i = 0; i < 100; i++)
{
inMarks [i] = 0;
}
Run Code Online (Sandbox Code Playgroud)
然后将下面的循环更改为:
String nextLine = null;
while ((nextLine = readFile.readLine()) != null)
{
int thisInt = Integer.parseInt(nextLine);
inMarks[thisInt] = inMarks[thisInt] + 1;
}
Run Code Online (Sandbox Code Playgroud)
inMarks现在完美地跟踪每个不同int的文件在文件中滚动了多少次.我将让你实现作业的打印输出部分,因为这将使你更好地理解这个解决方案的工作原理.
| 归档时间: |
|
| 查看次数: |
1129 次 |
| 最近记录: |