太原理工大学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]+""); } } }