第五章 判断题-数组(3)

2025-11-19

int pass =0;//扫描轮数计数 for(int i=0; i<128; i++) for(int j=0; j bucket[i][j] = \int strLength=0, doo=0; StringBuffer sb;

//补足参差的字符串,使大家长度相同 for(int i=0; i

strLength = Math.max(strLength,DataArray[i].length()); for(int i=0; i

if(DataArray[i].length()

sb = new StringBuffer(DataArray[i]); for(int j=0; j

sb.append((char)doo); DataArray[i] = sb.toString(); } do {

for(int i=0;i<128;i++) {

bucket[i][DataInputed] = \}

for(int i=0;i { int ch;

if(DataArray[i].length()-1 >= pass)

ch= DataArray[i].charAt(DataArray[i].length()-1-pass); else ch = 0;

if(ch>=128 || ch<0) {

showStatus(\输入的字符超出了处理范围,只能处理ASCII字符串。\return; }

//去除大小写的影响 if(ch>='A' && ch<='Z') {

System.out.println(ch + \ch += 'a' - 'A';

System.out.println(ch + \}

int count = Integer.parseInt(bucket[ch][DataInputed]); bucket[ch][count++] = DataArray[i];

bucket[ch][DataInputed] = Integer.toString(count); } int k=0;

for(int i=0;i<128;i++)//集中扫描

for(intj=0;j

//记录本轮选择后数据排列情况 SortPro[pass][i] = DataArray[i]; pass++;

}while(Integer.parseInt(bucket[0][DataInputed])!=DataInputed; //一轮扫描 } }

知识点:桶排序的使用。 3.难度:难

答案:源程序:Chazhao.java import java.applet.*; import java.awt.*; import java.awt.event.*; import java.util.*;

public class Chazhao extends Applet implements ActionListener {

Label prompt = new Label(\请输入欲插入的字符串:\TextField input = new TextField(5); Vector dataVector = new Vector(); public void init() {

add(prompt); add(input);

dataVector.removeAllElements(); input.setText(\

input.addActionListener(this); }

public void paint(Graphics g) //打印 { int i=0;

for(Enumeration e = dataVector.elements(); e.hasMoreElements(); i++) { try {

g.drawString((String)(e.nextElement()), 10+80*i, 40); }

catch(NullPointerException npe) {

System.out.println(i); } } }

public void actionPerformed(ActionEvent e) {

if(e.getSource() == input) //用户在input中输入并回车时 { //记录数据

String s = input.getText();

int low=0, high=dataVector.size()-1, mid; while(low <= high) {

mid = (high + low)/2;

if(((String)(dataVector.get(mid))).compareToIgnoreCase(s) == 0) {

dataVector.insertElementAt(new String(s),mid); System.out.println(s + \ break; }

else if(((String)(dataVector.get(mid))).compareToIgnoreCase(s) > 0) high = mid-1; else

low = mid+1; }

if(low>high) {

dataVector.insertElementAt(new String(s),low); System.out.println(s + \}

input.setText(\repaint(); } } }

知识点:查找算法的使用。 4.难度:适中

答案:源程序:He.java import java.applet.*; import java.awt.*; import java.awt.event.*;

public class He extends Applet implements ActionListener {

final int ARRAY_LENGTH = 10;

final String labelPrompt[] = {\最大值:\最小值:\\总和:\平均值:\

int myArray[] = new int[ARRAY_LENGTH]; int count=0, max=0, min=0, sum=0; double avg=0.0;

TextField inputTfd = new TextField(10);

Label inputLbl = new Label(\请输入数据并回车:\Label maxLabel = new Label(labelPrompt[0] + \Label minLabel = new Label(labelPrompt[1] + \Label sumLabel = new Label(labelPrompt[2] + \Label avgLabel = new Label(labelPrompt[3] + \public void init() {

for(int i=0; i {

myArray[i] = 0; }

add(inputLbl); add(inputTfd); add(maxLabel); add(minLabel); add(sumLabel); add(avgLabel);

inputTfd.addActionListener(this); }

public void actionPerformed(ActionEvent ae) {

TextField temp = (TextField)(ae.getSource()); if(temp == inputTfd) { try {

int value = Integer.parseInt(temp.getText()); if(count == 0) {

max = value; min = value; sum = value; avg = value; } else {

max = Math.max(value,max);

min = Math.min(value,min); sum = (count

avg = ((double)(sum)) / (count }

myArray[count % ARRAY_LENGTH] = value; count++;

maxLabel.setText(labelPrompt[0] + max); minLabel.setText(labelPrompt[1] + min); sumLabel.setText(labelPrompt[2] + sum); avgLabel.setText(labelPrompt[3] + avg); inputTfd.setText(\}

catch(NumberFormatException nfe) {

inputTfd.setText(\格式错误\} } else {

showStatus(\事件\未定义处理操作\} }

} 知识点:对数组的基本操作。


第五章 判断题-数组(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:碘与人类健康的研究性学习课题研究 研究报告

相关阅读
本类排行
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 7

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219