编写一个GUI程序,实现单词分析功能。要求:
(1)获取用户指定的英文文本内容(可以从界面上的TextArea获得,也可以让用户从磁盘选择一个文件);
(2)分析该文本,在一个TextArea内输出所有出现过的单词,但不允许重复,每个单词后面要标记出现的次数。
如:输入 I have a Book,you have a book.输出:I(1),have(2),a(2),book(2),you(1)
(1)获取用户指定的英文文本内容(可以从界面上的TextArea获得,也可以让用户从磁盘选择一个文件);
(2)分析该文本,在一个TextArea内输出所有出现过的单词,但不允许重复,每个单词后面要标记出现的次数。
如:输入 I have a Book,you have a book.输出:I(1),have(2),a(2),book(2),you(1)
package applet;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
/**
*
* @author longer
*/
public class PolyJApplet extends JApplet
{
/** Creates a new instance of PolyJApplet */
JTextField input;
double a,b,c,d,x1,x2,re,im;
public void init()
{
JLabel prompt=new JLabel("Enter three numbers:");
input=new JTextField(10);
input.setEditable(true);
getContentPane().setLayout(new FlowLayout());
getContentPane().add(prompt);
getContentPane().add(input);
input.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
Graphics g=getGraphics();
String s=input.getText();
String[] s1=s.split(" ");
a=Double.parseDouble(s1[0]);
b=Double.parseDouble(s1[1]);
c=Double.parseDouble(s1[2]);
if(a==0)
System.exit(0);
else
{
update(g);
d=b*b-4*a*c;
char ch=d>0?'a':d==0?'b':'c';
switch(ch)
{
case 'a':
x1=(-b+Math.sqrt(d)/(2*a));
x2=(-b-Math.sqrt(d)/(2*a));
g.drawString("x1="+x1,150,60);
g.drawString("x2="+x2,150,90);
break;
case 'b':
g.drawString("x1=x2="+(-b/(2*a)),150,60);
break;
case 'c':
re=(-b/(2*a));
im=(Math.sqrt(-d/(2*a)));
g.drawString("re="+re,150,60);
g.drawString("im="+im,150,90);
break;
}
}
}
});
}
}
中的split(" ")是当出现空格是就分割!