System.out.println(c); c=Math.exp(1); System.out.println(c); c=Math.log(8); System.out.println(c); } }
5.public class E {
public static void main (String args[ ]) { String str = \你是谁?\ String regex = \ str = str.replaceAll(regex,\ System.out.println(str); }
}
6. import java.util.*;
public class E {
public static void main(String args[]) {
String cost = \数学87分,物理76分,英语96分\ Scanner scanner = new Scanner(cost); scanner.useDelimiter(\ double sum=0; int count =0;
while(scanner.hasNext()){
try{ double score = scanner.nextDouble(); count++; sum = sum+score; System.out.println(score); }
catch(InputMismatchException exp){ String t = scanner.next(); } }
System.out.println(\总分:\分\ System.out.println(\平均分:\分\ } }
习题9(第9章)
一、问答题
1.JFrame类的对象的默认布局是什么布局?
2.一个容器对象是否可以使用add方法添加一个JFrame窗口? 3.JTextField可以触发什么事件?
4.JTextArea中的文档对象可以触发什么类型的事件? 5.MouseListener接口中有几个方法?
6.处理鼠标拖动触发的MouseEvent事件需使用哪个接口?
1.Frame容器的默认布局是BorderLayout布局。 2.不可以。
3.ActionEvent。 4.DocumentEvent。 5.5个。
6.MouseMotionListener。 二、选择题
1.下列哪个叙述是不正确的?c
A.一个应用程序中最多只能有一个窗口。 B.JFrame创建的窗口默认是不可见的。
C.不可以向JFrame窗口中添加JFame窗口。
D.窗口可以调用setTitle(String s)方法设置窗口的标题。 2.下列哪个叙述是不正确的?a
A.JButton对象可以使用使用addActionLister(ActionListener l)方法将没有实现ActionListener接口的类的实例注册为自己的监视器。
B.对于有监视器的JTextField文本框,如果该文本框处于活动状态(有输入焦点)时,用户即使不输入文本,只要按回车(Enter)键也可以触发ActionEvent事件 C.监视KeyEvent事件的监视器必须实现KeyListener接口。
D.监视WindowEvent事件的监视器必须实现WindowListener接口。 3.下列哪个叙述是不正确的?a
A.使用FlowLayout布局的容器最多可以添加5个组件。 B.使用BorderLayout布局的容器被划分成5个区域。 C.JPanel的默认布局是FlowLayout布局。 D.JDialog的默认布局是BorderLayout布局。 1.C。2.A。3.A。4.D。5.C。 三、编程题
1.编写应用程序,有一个标题为“计算”的窗口,窗口的布局为FlowLayout布局。窗口中添加两个文本区,当我们在一个文本区中输入若干个数时,另一个文本区同时对你输入的数进行求和运算并求出平均值,也就是说随着你输入的变化,另一个文本区不断地更新
求和及平均值。
2.编写一个应用程序,有一个标题为“计算”的窗口,窗口的布局为FlowLayout布局。设计四个按钮,分别命名为“加”、“差”、“积、”、“除”,另外,窗口中还有三个文本框。单击相应的按钮,将两个文本框的数字做运算,在第三个文本框中显示结果。要求处理NumberFormatException异常。
3.参照例子15编写一个体现MVC结构的GUI程序。首先编写一个封装梯形类,然后再编写一个窗口。要求窗口使用三文本框和一个文本区为梯形对象中的数据提供视图,其中三个文本框用来显示和更新梯形对象的上底、下底和高;文本区对象用来显示梯形的面积。窗口中有一个按钮,用户单击该按钮后,程序用3个文本框中的数据分别作为梯形对象的上底、下底和高,并将计算出的梯形的面积显示在文本区中。 1. import java.awt.*;
import javax.swing.event.*; import javax.swing.*; import java.awt.event.*; public class E {
public static void main(String args[]) { Computer fr=new Computer(); } }
class Computer extends JFrame implements DocumentListener { JTextArea text1,text2; int count=1;
double sum=0,aver=0; Computer() {
setLayout(new FlowLayout()); text1=new JTextArea(6,20); text2=new JTextArea(6,20); add(new JScrollPane(text1)); add(new JScrollPane(text2)); text2.setEditable(false);
(text1.getDocument()).addDocumentListener(this); setSize(300,320); setVisible(true); validate();
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); }
public void changedUpdate(DocumentEvent e) { String s=text1.getText();
String []a =s.split(\ sum=0; aver=0;
      for(int i=0;i         try { sum=sum+Double.parseDouble(a[i]);         }          catch(Exception ee) {}      }       aver=sum/count;      text2.setText(null);       text2.append(\和:\     text2.append(\平均值:\   }      public void removeUpdate(DocumentEvent e){       changedUpdate(e);      }     public void insertUpdate(DocumentEvent e){       changedUpdate(e);    } }  2.   import java.awt.*;  import javax.swing.event.*; import javax.swing.*; import java.awt.event.*; public class E {     public static void main(String args[]) {       ComputerFrame fr=new ComputerFrame();    } }  class ComputerFrame extends JFrame implements ActionListener {   JTextField text1,text2,text3;    JButton buttonAdd,buttonSub,buttonMul,buttonDiv;   JLabel label;    public ComputerFrame() {    setLayout(new FlowLayout());    text1=new JTextField(10);    text2=new JTextField(10);    text3=new JTextField(10);     label=new JLabel(\   label.setBackground(Color.green);     add(text1);    add(label);    add(text2);    add(text3);      buttonAdd=new JButton(\加\       buttonSub=new JButton(\减\   buttonMul=new JButton(\乘\   buttonDiv=new JButton(\除\   add(buttonAdd);    add(buttonSub);