练习作业

【上机作业】【java】2010.5.19 java上机测试题

程序填空题:

1.完成两个整数的输入,两个整数为:

  最后按确定键退出程序。

  给定源程序:

  //计算两个整数的乘法

  import javax.swing.joptionpane;

  public class java_1 {

  public static void main( string args[] ) {

  int x, y, result;

  string xval, yval;

  xval = joptionpane.showinputdialog( “输入第1个整数:” );

  yval = joptionpane.showinputdialog( “输入第2个整数:” );

  //*********found********

  x = integer.parseint( ________ xval __________ );

  y = integer.parseint( yval );

  result = x * y;

  //*********found********

  joptionpane._______ showMessageDialog__________________( null, “两个数的积: ” + result );

  system.exit( 0 );

  }

}

2. import java.io.*;

  public class java_2{

  //*********found********

  public static void main(string args[]) ____ throws _______ exception{

  long filepoint = 0 ;

  string s;

  randomaccessfile file = new randomaccessfile(“java_2.java”,”r”);

  long filelength = file.length();

  while (filepoint<filelength){

  //*********found********

  s = _____ file ______.readline();

  system.out.println(s);

  filepoint = file.getfilepointer();

  }

  file.close();

  }

}

3. import java.awt.*;

import java.awt.event.*;

public class Java_2 extends Frame {

       public Java_2(String s){

              super(s);

       }

       public static void main(String args[]){        

              Java_2 fr = new Java_2(“Testing”);

              Button b=new Button(“Please press me!”);

     //*********Found********

                b.addActionListener(________this_________);

              fr.add(b);

              fr.setSize(200,200);

              fr.addWindowListener(new WindowAdapter(){

                     public void windowClosing(WindowEvent e) {

                                System.exit(0);

                     }

                  });

     //*********Found********

              fr.setVisible(_____true_______);

       }

}

class HandleButton implements ActionListener{

    public void actionPerformed(ActionEvent e){

       System.out.println(“The button is pressed!”);

    }

}

二、判断题

1.一个Java源文件中可以包含多个类。   ___T____ 

2.在java源文件中的每个类都被编译为一个独立的字节码文件.   ___T____ 

3.一个break语句只能用在一个循环中.  ___F___ 

4.可以在同一个类中定义两个具有相同名称和相同参数列表的方法.  ___F___ 

5.每个Java类中必须包含一个main方法.  ___T___ 

6.默认的构造方法没有参数.    ___T___ 

7.总是可以成功地把一个子类对象向上转型为它的某个父类对象.  ___F___ 

8.如果一个对象是类A的一个实例, 并且A是B的子类, 那么该对象也是B的一个实例.   ___T___ 

9.Java语言中任何一个对象都是Object类的实例.    ___T___ 

10.一个子类不可以有多个父类,但是可以实现任意数量的接口.  ___T___

三、编程题

1.将一个按钮加入到容器当中,编写程序使得每按一次按钮,按钮上的数字加1,设按钮上的初始值为0.
 
 
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
class testbutton extends JFrame implements ActionListener{
     JButton b=new JButton("0");
     int i=0;
    
     public testbutton(){
     super("按钮");
     this.add(b);
     b.addActionListener(this);
     this.setSize(100,100);
     this.setVisible(true);
     }
    
     public void actionPerformed(ActionEvent e){
     JButton b1=(JButton)e.getSource();
       if(b1==b){
         i++;
         b.setText(Integer.toString(i));
      
       }
     }
    
     public static void main(String []args){
                    testbutton tb=new testbutton ();
     }
 
}
 
 

2. 企业发放的奖金根据利润提成。利润(I)低于或等于20万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?

import java.util.Scanner;

import java.text.DecimalFormat;

class jiangjin{

       public static void main(String []args){

              double i;

              DecimalFormat format=new DecimalFormat(“#.000”);

              Scanner s=new Scanner(System.in);

              System.out.print(“输入利润(单位:万元):”);

              i=s.nextDouble();

              System.out.println(“奖金(单位:万元):”+format.format(compute(i)));

       }

       static double compute(double d){

              if(d<=10)

                     return 10*0.1;

              else

              if(d<=20){

                     return compute(10)+(d-10)*0.075;

              }

              else if(d<=40){

                     return compute(20)+(d-20)*0.05;

              }

              else if(d<=60){

                     return compute(40)+(d-40)*0.03;

              }

              else if(d<=100){

                     return compute(60)+(d-60)*0.015;

              }

              else {

                     return compute(100)+(d-100)*0.01;

              }

       }

}

发表评论

电子邮件地址不会被公开。 必填项已用*标注