问答题

Java_3.java程序是一个二分法检索算法程序,完成程序,然后运行并所得结果为:对ArrayList分类:[白,粉红,紫,红,茶色,蓝,黄,黑]
检索关键字:黑
找到下标7
检索关键字:红
找到下标3
检索关键字:粉红
找到下标1
检索关键字:绿
没有找到<-5>
检索关键字:灰
没有找到<-1>
检索关键字:橙色
没有找到<-1>
给定源程序:
//Java_3.java:二分法检索算法
import java.util.*;
public class Java_3
private String colors[]="红","白","蓝",
"黑","黄",
"紫","茶色","粉红");
private ArrayList aList; //ArrayList引用
public Java_3()
aList= new ArrayList(Arrays.asList(colors));
Collections.sort(aList)j //ArrayList分类
System.out.printIn("对ArrayList分类:"+aList);

public void printSearchResults()
printSearchResultsHelper(colors[3]); //首项
printSearchResultsHelper(colors[0]); //中间项
printSearchResultsHelper(colors[7]); //最后项
printSearchResultsHelper("绿"); //最低
printSearchResultsHelper("灰"); //不存在
//*********Found********
printSearchResultsHelper("______"); //不存在

private void printSearchResultsHelper(String key )
int result=0;
System.out.printIn("\n检索关键字:"+key);
result=Collections.binarySearch(aList, key);
System.out.printIn( (result>=0"找到下标"
+ result
:"没有找到("+result+")"));

public static void main(String args[])
//*********Found********
new Java_3().______;

【参考答案】

JApplet getContentPane outputArea
热门 试题

问答题
下面是整数除法计算的程序,要求在出现异常时,能抛出异常信息。 考虑两种异常: (1)输入非数字除数。 (2)输入除法分母为零。 该程序运行的3种结果状态如下: (1)输入两个合法整数: (2)输入非数字除数: (3)输入除数为零: 给定源程序: import java.text.DecimalFormat; import javax.swing.*; import java.awt.*; import java.awt.event.*; public class Java_3 extends ______implements ActionListener private JTextField input1, input2, output; private int number1, number2; private double result; 初始化 public Java_3 () *********Found******** ______(”示范异常”); Container c=getContentPane(); c.setLayout(new GridLayout(3, 2)); c.add(new JLabel( 输入分子 , SwingConstants.RIGHT)); input1=new JTextField(10); c.add(input1); c.add( new JLabel( 输入分母和回车 , SwingConstants.RIGHT )); input2=new JTextField(10); c.add(input2); input2.addActionListener(this); c.add(new JLabel( 计算结果 , SwingConstants.RIGHT)); output=new JTextField(); c.add(output)j setSize(425, 100); show(); 处理GUI事件 public void actionPerformed(ActionEvent e) DecimalFormat precision3=new DecimalFormat( 0.000 ); output.setText( ); 空的JTextField输出 *********Found******** ______ number1=Integer.parseInt (input1.getText()); number2=Integer.parseInt (input2 .getText()); result=quotient(number1, number2); *********Found******** output.setText(______); catch (NumberFormatException nfe ) JOptionPane.showMessageDialog(this, 你必须输入两个整数 , 非法数字格式 , JOptionPane.ERROR MESSAGE); catch (Exception dbze ) *********Found******** ______(this, 除法异常 除数为零 , JOptionPane.ERROR MESSAGE ); 定义求商的方法,如遇到除数为零时,能抛出异常 public double quotient(int numerator, int denominator) throws Exception if (denominator==0) throw new Exception(); return (double) numerator denominator; public static void main(String args[]) Java_3 app=new Java_3(); app.addWindowListener new WindowAdapter() public void windowClosing(WindowEvent e) e.getWindow().dispose(); System.exit(0); ); * JOptionPane类的常用静态方法如下: showInputDialog() showConfirmDialog() showMessageDialog() showOptionDialog() *