我创建了一个在文本段落中查找单词模式的代码,它会忽略任何不是字母的东西。所以基本上文本'hello world it is a lovely day'会给出1、2、1、2、1。小程序以基本文本格式显示它,我想要的是它在条形图中显示结果。
我原则上知道如何做到这一点,我需要从我的数组中链接我的数据并让我的小程序绘制它,然后根据给定的值增加宽度(购物车将水平绘制,主底座,如果你明白我的意思,这些条从垂直开始的地方)
我的问题是,我不知道如何执行此代码,我不知道如何启动它,任何帮助将不胜感激。
这是我的代码
import java.util.*;
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Clarke_J_resitAss extends Applet implements ActionListener
{
Button pr_input1, pr_input2;
Label pr_label;
TextField pr_text;
String pr_name;
public void init()
{
pr_input1 = new Button("Analyze");
pr_input2 = new Button("Reset");
add(pr_input1);
add(pr_input2);
pr_input1.addActionListener(this);
pr_input2.addActionListener(this);
//add the buttons with action listeners
pr_label = new Label("Word Pattern");
add(pr_label);
pr_text = new TextField();
add(pr_text);
pr_text.addActionListener(this);
//add text field
}
public void start()
{
pr_name="";
setSize(400,400);
setBackground(Color.gray);
pr_text.setBackground(Color.white);
}
public void actionPerformed(ActionEvent e){
pr_name = e.getActionCommand();
repaint();
if(e.getSource() == pr_input1)
pr_name = pr_text.getText();
else
if(e.getSource() == pr_input2)
{ pr_name = "";
pr_text.setText("");
pr_label.setText("Word Pattern");
}
repaint();
// The user's input from the text area.
int pr_char;
String array[]=pr_name.split(" ");
int counter=0;
for(int i=0;i<array.length;i++){
int length = array[i].replaceAll("[^A-Za-z]", "").length();
if(counter<length)
counter=length;}
int intArray[]=new int[counter];
for(int i=0;i<intArray.length;i++){
intArray[i]=0;
}
for(int i=0;i<array.length;i++){
intArray[array[i].replaceAll("[^A-Za-z]", "").length()-1]++;
}
String a="";
for(int i=0;i<intArray.length;i++){
if(intArray[i]>0)
{
a+=String.valueOf(intArray[i]);
a+=", ";
}
}
pr_label.setText(a);
pr_char = pr_name.length();
}
public void paint(Graphics g)
{
pr_text.setSize(400, 200);
pr_text.setLocation(0,0);
pr_input1.setLocation(0,220);
pr_input2.setLocation(337,220);
pr_label.setLocation(0,270);
pr_label.setSize(400,30);
}
}