[问答题] 下面是一个Applet程序,其功能是统计输入字符串中的每个字符在该串中出现的次数。要求,窗口中有一个文本框作为输入,一个按钮,点击则进行统计,统计结果以图形方式输出。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。
注意:不改动程序的结构,不得增行或删行。
程序运行结果如下:
![[问答题] 下面是一个Applet程序,其功能是统计输入字符串中的每个字符在该串中出现的次数。要求,窗口中有一个文本框作为输入,一个按钮,点击则进行统计,统计结果以图形方式输出。请改正程序中的错误(有 [问答题] 下面是一个Applet程序,其功能是统计输入字符串中的每个字符在该串中出现的次数。要求,窗口中有一个文本框作为输入,一个按钮,点击则进行统计,统计结果以图形方式输出。请改正程序中的错误(有](/uploadfile/member/20180926/1537955368.jpg)
import java.awt.*;
import java.applet.*;
import java.lang.*;
public class ex29 3 extends Applet
private TextField tf;
private Button btn;
public void init()
tf = new TextField(25);
add(tf);
btn = new Button("统计");
add(btn);
resize(250, 200);
public void paint(Graphics g)
String str= tf.getText();
short cnt[]=new short[65536];
int i;
int n = 50;
for(i=0;i<65536;i++)
cnt[i]=0;
for(i=0;i<str.length();i++)
cnt [i] ++;
for (i=0;i<65536;i++)//对数级Cnt [] 进行初始化
if (cnt [i]
参考答案:
cnt[str.charAt(i)]++ cnt[i]>0 g.drawString((char)i+"出现"+cnt[i]+"次",50,n)问题解析:
本题主要考查字符串操作和字符操作以及Applet图形用户界面设计。解题关键是会将输入的字符串分成每1个字符,并且会用计数器实现对字符进行统计,会使用Applet图形用户界面的基本方法完成结果的输出。本题中,第1处,要明白 cnt的下标是字符在所有的字符集合中的索引值,根据str对象的charAt()方法返回字符索引值,在对这个索引值进行统计;第2处,判断条件必须大于0否则会输出所有的字符;第3处,i变量是字符表中的索引值,对其进行直接类型转换为char则得到了由i索引的字符表中的字符的值。

![[问答题] 下面是一个Applet程序,其功能是统计输入字符串中的每个字符在该串中出现的次数。要求,窗口中有一个文本框作为输入,一个按钮,点击则进行统计,统计结果以图形方式输出。请改正程序中的错误(有 [问答题] 下面是一个Applet程序,其功能是统计输入字符串中的每个字符在该串中出现的次数。要求,窗口中有一个文本框作为输入,一个按钮,点击则进行统计,统计结果以图形方式输出。请改正程序中的错误(有](http://www.mshxw.com/aiimages/31/250549.png)
