【发布时间】:2016-01-16 15:01:51
【问题描述】:
我试图让我的代码读取一个 txt 文件,然后吐出某个字符出现了多少次。
所以如果txt文件读取。
“我的我,你多大了?”
如果我输入 m,我需要它吐出 3,但使用下面的代码,我一直得到 1。它不会读取大写字母。请帮忙?
public static void main(String[] args) throws IOException {
String fileName;
String inputLetter;
int count = 0;
fileName = JOptionPane.showInputDialog("Enter the filename: ");
inputLetter = JOptionPane.showInputDialog("Enter a letter contained " +
"in a string.");
inputLetter.toLowerCase();
char letterAsChar = inputLetter.charAt(0);
File file = new File(fileName);
Scanner inputFile = new Scanner(file);
while (inputFile.hasNext())
{
String holdLine = inputFile.nextLine();
for (int i = 0; i < holdLine.length(); i++)
if (holdLine.charAt(i) == letterAsChar ||
holdLine.charAt(i) == Character.toUpperCase(letterAsChar))
{
count++;
}
}
System.out.println(count);
【问题讨论】:
-
小创意循环使用lcase和ucase变量,
inputlc=inputletter.toLowerCase().charAt(0); inputuc=inputletter.toUpperCase().charAt(0); -
我试过你的例子,我得到的结果是
3。你确定程序有问题?