太原理工大学16年Java试题复习笔记

16年Java复习题

简述编写GUI编程中容器与布局的概念及其常用的组件。

正确答案: 容器:是用来组织或容纳其他组件和容器的特殊组件,是用容器类(Container类)创建的对象。 布局:负责管理组件在容器中的排放顺序。 常用的组件:按钮(JButton)、单选按钮(JRadioButton)、复选按钮(JCheckBox)、标签(JLabel)、文本域(JTextField)、列表(JList)、组合框(JComboBox)、菜单(JMenu)等。

简述线程5种状态及其含义。

正确答案: 新建状态(New):线程对象被创建后,就进入了新建状态。例如,Thread thread = new Thread()。 就绪状态(Runnable):也被称为“可执行状态”。线程对象被创建后,其他线程调用了该对象的start()方法,从而来启动该线程,例如,threa.start()。处于就绪状态下的线程,随时可能被CPU调度执行。 运行状态(Running):线程获取CPU权限进行执行。需要注意的是,线程只能从就绪状态进入到运行状态。 阻塞状态(Blocked):阻塞状态是线程因为某种原因放弃CPU使用权,暂时停止运行。直到线程进入就绪状态,才有机会转到运行状态 死亡状态(Dead):线程执行完了或者因异常退出了run()方法,该线程结束生命周期。

算法设计中常用的思维不包括:试错法和查找法 包括:枚举法和迭代法,递归法和分治法,迭代法和递归法

类装载的功能是为执行程序寻找和装载所需的类

break可以强迫程序终止循环

子类对象向上转为父类对象是安全的

switch控制表达式的类型有byte,char, short,int

线程一旦启动,程序的执行顺序由操作系统随机调度分配,很可能出现不一样的结果

五、计算题 (题数:2,共 15.0 分) 1 编写一个有关多态的程序。 功能要求: (1)定义一个名为Number的类和名为INumber的接口,前者实现后者; (2)INmuber接口中至少两个名字相同的max()方法,其中,一个支持返回2个整型数中的较大者,另一个支持返回2个双精度浮点中的较大者; (3)在Number类中实现每一个max()方法。 (4)要求写出测试该功能的Exam2类(该包含main()方法)。 (7.0分)

正确答案

public interface INumber
 {
          
   
    abstract int max(int a,int b);
    abstract double max(double a,double b);
}
public class Number implements INumber
{
          
   
public int max (int a ,int b) {
          
   
return a>b?a:b;}
public double max(double a ,double b){
          
    
return a>b?a:b;}
}
public class Exam2 {
          
   
public static void main(String[]args)
 {
          
   
Number testa= new Number();
System.out.println(testa.min(5,4));
System.out.println(testa.min(11.9,20.87));
}
}

2 编写一个名为Exmal类,至少包含一个chat()方法,可以实现如下功能 (1)接收来自键盘输入的一句英语(不包含标点符号,各单词间勇敢空格分隔); (2)单词能立刻逆序回显在屏幕上,并等待输入下一句; (3)当输入end时结束循环。 效果示例: Input:My name is White RevEcho: White is name my Input:I am a student RevEcho:student a am I Input:end (8.0分)

正确答案

public class Exam1 {
          
   
public static void chat() 
{
          
   
    Scanner sc = new Scanner(System.in);
    While(!text.equals("end")){
          
   
System.out.print("Input:");
String text=sc.nextLine();
String str[]= text.replace(:, ).text.splites("");
System.out.println();
for(int i =str.length-1;i>0;i--)
    System.out.println("RevEcho:"+str[i]+"");
}
}
}
经验分享 程序员 微信小程序 职场和发展