迭代法 练习 数组的线性查找

来源:互联网 发布:plm软件价格 编辑:程序博客网 时间:2024/05/21 07:09
import javax.swing.*;import java.awt.*;import java.awt.event.*;import java.text.*;public class Exercise7_33 extends JApplet implements ActionListener{final int MAX=10;int array[];JLabel enterLabel;JTextField enterField;JTextArea outputArea;JScrollPane scroller;public void init(){array=new int[MAX];for(int counter=0; counter<MAX; counter++){array[counter]=(int)(Math.random()*500);}Container container=getContentPane();container.setLayout(new FlowLayout());enterLabel=new JLabel("请输入要查询的整数:");enterField=new JTextField(10);enterField.addActionListener(this);outputArea=new JTextArea(20, 60);scroller=new JScrollPane(outputArea);container.add(enterLabel);container.add(enterField);container.add(scroller);DecimalFormat threeDigits=new DecimalFormat("0000");outputArea.setFont(new Font("monospaced", Font.PLAIN, 12));outputArea.append("数组为:\n");for(int counter=0; counter<MAX; counter++){outputArea.append(" " + threeDigits.format(array[counter]));if(counter%5==4) outputArea.append("\n");}outputArea.append("\n");}public void actionPerformed(ActionEvent actionEvent){int x=Integer.parseInt(enterField.getText());int position=linearSearch(x, 0);if(position!=-1){outputArea.append( x + " is the " + position + "th number of the array!\n");}else{outputArea.append(x + " does not exists in the array!\n");}enterField.setText("");}public int linearSearch(int number, int counter){if(counter>=MAX){return -1;}if(array[counter]==number){return counter+1;}else{return linearSearch(number, counter+1);}}}
原创粉丝点击