问答题

下面是一个Applet程序,其功能是统计输入字符串中的每个字符在该串中出现的次数。要求,窗口中有一个文本框作为输入,一个按钮,点击则进行统计,统计结果以图形方式输出。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。 注意:不改动程序的结构,不得增行或删行。 程序运行结果如下:
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] >=0) { g.drawStrinq(i+"出现"+cnt[i]+"次",50,n); n+=20; } } public boolean action(Event e, Object o){ if (o == "统计"){ repaint(); return true; } else return false; } } ex29_3.html <HTML> <HEAD> <TITLE>ex29_3</TITLE> </HEAD> <BODY> <applet code="ex29_3.class" width=800 height=400 > </applet> </BODY> </HTML>

【参考答案】

cnt[str.charAt(i)]++ cnt[i]>0 g.drawString((char)i+"出现"+cnt[......

(↓↓↓ 点击下方‘点击查看答案’看完整答案 ↓↓↓)