0
好的这个程序应该计算每个单词出现在.txt文件中的次数我在正确的轨道上,因为这个程序显示每个单词在文本区域的文件中,但我需要它不重复单词并增加计数器。我是在正确的轨道下为每个单词:单词声明?这是在一个有序链表这样的话都是为了字母...orderedlinkedlist JAVA计算单词中的.txt文件没有重复的单词加计数器>
import javax.swing.*;
import java.awt.*;
import java.io.*;
import java.util.Scanner;
public class Oct29 extends JPanel
{
private OrderedList<String> words;
private String filename;
private int width = 800;
private int height = 600;
private TextArea textarea;
public Oct29()
{
Scanner scan;
textarea = new TextArea("",0,0,TextArea.SCROLLBARS_VERTICAL_ONLY);
textarea.setFont(new Font("Helvetica",Font.PLAIN,24));
textarea.setPreferredSize(new Dimension(width,height));
setPreferredSize(new Dimension(width,height));
add(textarea);
JFileChooser chooser = new JFileChooser("../Text");
int returnvalue = chooser.showOpenDialog(null);
if(returnvalue == JFileChooser.APPROVE_OPTION)
{
try
{
File file = chooser.getSelectedFile();
filename = file.getName();
System.err.println(filename);
scan = new Scanner(file);
}
catch (IOException e)
{
System.err.println("IO EXCEPTION");
return;
}
}
else
{
return;
}
words = new OrderedLinkedList<String>();
while(scan.hasNext())
{
String token = scan.next().toLowerCase();
token = token.replace(",","").replace(".","");
words.add(token);
}
scan.close();
textarea.append(" "+filename+" has wordcount: "+words.size()+
"\n-------------------------\n\n");
for(String word : words)
{
textarea.append(word+"\n"); // instead of displaying each word I need it to read when the word changes and then list a count of that word...
}
}
public static void main(String[] arg)
{
JFrame frame = new JFrame("Oct 29");
frame.getContentPane().add(new Oct29());
frame.pack();
frame.setVisible(true);
}
}
我目前正在尝试选项2试图找出如何计算单词和它何时更改重置计数器... – 2014-11-02 04:11:39
所以你需要1)一个if语句,2)一个计数器变量,3)String.equals()--->在你的变量word.equals(“你正在测试它的字符串” ) – natus 2014-11-02 04:25:01
String current = null; 为(字符串字:字) { 诠释计数= 0; if(current!= null &&!(current.equals(word))) count ++; textarea.append(word +“”+ count +“\ n”); } – 2014-11-02 04:26:31