Java第三、四章作业
- 格式:pdf
- 大小:73.24 KB
- 文档页数:6
标准作业课后作业第⼀章理论:1.java环境搭建的步骤2.java语⾔的简介3.⼿写代码实现个⼈信息的输出(姓名,性别,年龄,家庭地址,爱好,座右铭)上机:分别使⽤记事本和myeclipse编写java程序实现求学经历的输出并写好每⾏代码的注释说明Xxx求学经历1.Xx⼩学:xxx代课⽼师:xxx,xxx,xx2.Xx中学:xxx代课⽼师:xxx,xxx,xxx第⼆章1.编写⼀个程序,接收控制台输⼊的两个数字,并对他们分别执⾏加、减、乘、除运算,并打印出结果。
2.⼯资计算器CalcSalary.java ⼯资=基本⼯资+房补(基本⼯资*20%)+餐补(基本⼯资*30%)+交通补助(基本⼯资*10%); 提⽰⽤户输⼊基本⼯资程序完成计算功能并输出⼯资详情。
3.输⼊圆半径,输出周长和⾯积CalcArea.java。
4.鸡兔同笼,鸡和兔的头有h个,脚共有f个,设计程序,根据⽤户输⼊的h和f,计算分别有⼏只鸡,⼏只兔。
5.键盘输⼊停车时间计算停车费⽤<前⼆个⼩时10元,以后每⼩时2元>6.假如今天是星期⼀,计算200天之后是星期⼏第三章1.输⼊赵本⼭的考试成绩,显⽰所获奖励成绩==100分,爸爸给他买辆车成绩>=90分,妈妈给他买MP490分>成绩>=60分,妈妈给他买本参考书成绩<60分,什么都不买。
2.FindTaday.java实现⼀个查询⽉天数的程序键盘输⼊年⽉判断这年这个⽉有多少天。
<闰年条件:能被4整除且不能被100整除或者能被400整除>3.国家税务局规定不同⾏业的税收数额度不⼀样税收=(⼯资-起征点)*税率⾏业有1.服务⾏业2.制造业3.农业1.服务⾏业税收的起征点是2000 元 2000元以上需要缴纳10%的个⼈所得税2.制造业税收的起征点是3000元 3000元以上需要缴纳5%的个⼈所得税3.农业税收的起征点是1500元 1500元以上需要缴纳2%的个⼈所得税提⽰⽤户选择⾏业,输⼊⼯资,输出税后⼯资。
关于本课程本书的主要目标是为你提供有关Java应用和Java app le ts的面向对象的程序设计所必需的知识和技能;并讲授Java编程语言句法和面向对象的概念,以及Java运行环境的许多特性,对图形用户界面(GUIs)、多线程和网络的支持等。
本课程包括了参加S UN Cert if ie d Jav a Pr og ra mme r和S UN Ce rt if ie d Java Deve lo per考试所必备的知识。
一、课程概述本课程首先讨论了Java运行环境和Java编程语言句法,然后阐述了应用于Java编程语言的面向对象的概念;随着课程的进展还将讨论有关Java平台的更先进的特性。
本课程授课对象应具备运用Java 编程语言或其它语言进行基本语言设计的能力,它是“非程序员Java编程”(“Java Pro gra mmi ng f or N o n—Pro gra mmer s”,S L-110)课程的延续。
尽管Java编程语言独立于操作系统,但它所产生的图形用户界面(GUI)却可能依赖于执行其代码的操作系统。
本课程中的例题所使用的代码运行于S olari s TM操作系统,因而本手册中的图形具备Mot if G UI。
如果将这些代码运行于W in d ows 95操作系统,则可产生Micro so ft W i ndo ws 95 GU I。
本课程的内容适用于所有Java操作系统端口。
二、课程图每一模块的课程都从一张课程图开始,使学员可掌握自己的学习进度。
全课程设置流程三、各模块概述-模块1──起步本模块概述了Java编程语言的主要特性及Java应用程序,阐述了类和包的概念,并介绍了一些常用Java包。
-模块2──标识符、关键字和类型Java编程语言与C语言类似,具有许多编程构造。
本模块对这些构造作了一般介绍并讲授了每一构造所要求的一般句法。
此外,还介绍了采用集合数据类型进行数据关联的面向对象的方法。
Java程序设计试题(三)一.选择题(每题2分,共20分)1、要向Applet中添加一个列表组件,应选择下列哪个类对象(C)A. ChoiceB. CheckBoxC List D. Menu2、如果一个程序段中有多个catch,则程序会按下列哪种情况执行(C )A.找到合适的异常类型后继续执行后面的catch;B.找到每个符合条件的catch都执行一次;C.找到合适的异常类型后就不再执行后边的catch;D.对每个catch都执行一次3、FileNotFoundException属于以下哪种类型的异常(A)A. IOExceptionB. RuntimeExceptionC. AWTExceptionD.ArithmeticException4、下列方法中哪个不是Applet的成员方法(A )A. initiate()B. start()C. stop()D. destoy()5、Event listener对象的成员方法的返回值是(C )A. StringB. AWTEventC. voidD. int6、下列哪个选项不能使当前线程停止执行(D )A.一个异常被抛出B.线程执行了sleep()调用C.高优先级的线程处于可运行状态D. 当前线程产生了一个新线程7、下列哪个是接口MouseMotionListener的方法(A )A. public void mouseMoved(MouseEvent)B. public boolean mouseMoved(MouseEvent)C. public void mouseMoved(MouseMotionEvent)D. public boolean MouseMoved(MouseMotionEvent)8、关于类DataOutputStream构造方法正确的是(D )A. new dataOutpu tStream(new file(“out.txt”));B. new dataOutputStream(new writer(“out.txt”));C. new dataOutputStream(new OutputStream(“out.txt”));D. new dataOutputStream(new FileOutputStream(“out.txt”));9、下列哪种方式不能直接停止线程的执行(C )A. 调用yield 方法B. 调用了wait方法C. 调用了notify方法D. 调用了suspend()方法10、一个类要实现串行化则必须实现接口( A )A. Serializable B RunnableC. Throwable D Resumable二.简答题(每题4分,共20分)1. 异常是什么?筒述Java的异常处理机制?异常是在程序的运行过程中所发生的非正常事件,它中断指令的正常执行。
作业_31.参考课件中的例子,根据要求,请用Swing编写如下菜单程序:要求:(1)点击“选项对话框”时,分别弹出下列对话框:并在命令行中输出输入框、确认框的输入信息;(2)点击“文件选择器”时,分别弹出文件打开、保存对话框,并在命令行中输出打开、保存的文件信息;(3)点击“颜色选择器”时,弹出颜色板改变窗体的背景色。
import javax.swing.*;import java.awt.Color;import java.awt.event.*;public class JFrameTest extends JFrame {private static final long serialVersionUID = 321L;JMenu menu1;JMenu menu2;JMenu menu3;JFileChooser fileChooser;static JColorChooser colorChooser;static JFrameTest jf;static JPanel p;public JFrameTest(){jf=this;setTitle("对话框、菜单综合例子");setSize(600,400);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);fileChooser=new JFileChooser("d:\\");setMenu();JMenuBar bar=new JMenuBar();setJMenuBar(bar);bar.add(menu1);bar.add(menu2);bar.add(menu3);p=new JPanel();add(p);setVisible(true);}public void setMenu(){menu1=new JMenu("选项对话项");menu2=new JMenu("文件选择器");menu3=new JMenu("颜色选择器");JMenuItem item1=new JMenuItem("显示输入框");JMenuItem item2=new JMenuItem("显示消息框");JMenuItem item3=new JMenuItem("显示确认框");JMenuItem item4=new JMenuItem("打开文件对话框");JMenuItem item5=new JMenuItem("保存文件对话框");JMenuItem item6=new JMenuItem("选择窗体背景颜色");item1.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent arg0) {Object result=JOptionPane.showInputDialog(jf,"请输入您的身份证号码:","输入框",JOptionPane.QUESTION_MESSAGE);if(result!=null)System.out.println("输入框内容:"+(String)result);}});item2.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent arg0) {JOptionPane.showMessageDialog(jf, "吸烟有害健康", "消息框", JOptionPane.WARNING_MESSAGE);}});item3.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent arg0) {int i=JOptionPane.showConfirmDialog(jf, "是否保存对“myinformation.doc”的更改?", "确认框", JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE);if(i==0)System.out.println("确认框:选择了“是");if(i==1)System.out.println("确认框:选择了“否");if(i==2)System.out.println("确认框:选择了“取消");}});item4.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){int i=fileChooser.showOpenDialog(jf);if(i==0)System.out.println("选择打开的文件是:"+fileChooser.getSelectedFile().getAbsolutePath());}});item5.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){int i=fileChooser.showSaveDialog(jf);if(i==0)System.out.println("选择保存的文件是:"+fileChooser.getSelectedFile().getAbsolutePath());}});item6.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){Color color=JColorChooser.showDialog(jf, "选择窗体背景颜色",p.getBackground());if(color!=null){jf.setBackground(color);p.setBackground(color);}}});menu1.add(item1);menu1.add(item2);menu1.add(item3);menu2.add(item4);menu2.add(item5);menu3.add(item6);}public static void main (String args[]){ new JFrameTest();}}2、请按要求创建线程:(1)用继承Thread类方法创建线程MyThread类,该线程的功能是输出26个英文字母(大写,不换行),每输出一个字母后,休眠时间是500—2000毫秒的随机数;(2)用实现Runnable接口方法创建线程MyRunnalbe类,该线程的功能是输出26个英文字母(小写,不换行),每输出一个字母后,休眠时间是500—2000毫秒的随机数;(3)在主类中分别创建这两个类的对象t1、t2,并启动。
Java程序设计第三次作业一、程序阅读题(本大题共30分,共 5 小题,每小题 6 分)1. public class Q{public static void main(String args[ ]){int i,j;int intArray[]={30,1,-9,70,25};int l=intArray.length;for(i=l; i<l; i++) for (j=0;j<=l-i-l; j++){int t=intArray[j];intArray[j]=intArray[j+l];intArray[j+l]=t;}for(i=0; i<l; i++) System.out.println(intArray[i]+" "); }}2. 请写下程序的输出结果:3. 写出下面程序的运行结果.import javio.*;class Base{public static void amethod( )throws FileNotFoundException {}}public class ExcepDemo extends Base{public static void main(String argv[]){ExcepDemo e = new ExcepDemo( );}public boolean amethod(int i){try{DataInputStream din = new DataInputStream(System.in); System.out.println("Pausing"); din.readChar( ); System.out.println("Continuing");this.amethod( );return true;}catch(IOException ioe){}finally{System.out.println("Doing finally");}return false;}ExcepDemo( ){amethod(99);}}4. public class Waiter{int var;Waiter(double var){this.var = (int)var;}Waiter(int var){this("Welcome");}Waiter(String s){this( );System.out.println(s);}Waiter( ){System.out.println("Good-bye");}public static void main(String[] args){Waiter t = new Waiter(1);}}5. public class turnString{public static void main(String args[]){String s=”javalesson”;for(int i=s.length( )-1;i>=0;i--) System.out.print(s.charAt(i)); System.out.println( );}}二、简答题(本大题共30分,共 5 小题,每小题 6 分)1. 数据报通信和流式通信的区别是什么?2. 如何构造一个线程(两种方法)?3. 小应用程序(applet)到底与应用程序(application)有何不同?4. 构造线程的两种方式有什么不同?5. 下列程序实现的功能是什么?import javio.* ;public class Reverse{public static void main(String args[ ]){int i , n =10 ; int a[ ] = new int[10];for ( i = 0 ; i < n ; i ++ ) try{BufferedReader br = new BufferedReader( newInputStreamReader(System.in));a[i] = Integer.parseInt(br.readLine( ));}catch ( IOException e ){} ;for ( i = n-1 ; i >= 0 ; i ―― ) System.out.p rint(a[i]+" "); System.out.println( );}}三、程序设计题(本大题共40分,共 4 小题,每小题 10 分)1. 编写程序使用类String的replace方法将字符串”Mary was a ”改为”Mary had a book.”2. 创建一个Applet,要求在init方法中向该applet添加一个文本输入区组件,该文本输入区中显示字符为“你好”,行数为10,列数为15.3. 编写一个java程序将字符串”I’m ok ”改为”I’m glad to meet you”4. 编写一个程序,从键盘输入整数n,并计算从1到n的累加和.答案:一、程序阅读题(30分,共 5 题,每小题 6 分)1. 30 1 -9 70 252.****************3. “Pausing, Continuing, Doing Finally”4. Good-bye Welcome5. nosselavaj二、简答题(30分,共 5 题,每小题 6 分)1. 数据报通信协议UDP(User?Datagram?Protocol)是一种无连接的协议.每个数据报都是一个独立的信息,包括完整的源地址或目的地址,它在网络上以任何可能的路径传往目的地,因此能否到达目的地,到达目的地的时间以及内容的正确性都是不能被保证的. 流式通信协议TCP(Tranfer?Control?Protocol)与UDP不同,它是面向连接的协议,发送方和接收方的成对的两个socket之间必须建立连接,以便在TCP协议的基础上进行通信,当一个socket(通常都是server?socker)等待建立连接时,另一个socket 可以要求进行连接,一旦这两个socket连接起来,他们就可以进行双向数据传输,双方都可以进行发送或接收操作.2. 构造线程体有两种方式 1定义一个线程类,它继承Thread类,并重写其中的run()方法.直接生成这个类的对象就可以构造一个线程.2提供一个实现接口?Runnable的类作为线程的目标对象.在构造线程对象时,通过方法?Thread(Runnable?target,String?name)把目标对象传给这个线程实例.3. 应用程序(Application)是独立存在的、完整的应用程序;而小应用程序是可嵌入的、基本上完整的程序.下面用表格来说明他们之间的差别. Java应用程序Java小应用程序必须安装在本地机上不需要在本地机上显示安装必须在java兼容虚拟机上显示运行在支持Java的浏览器上可以自动载入并运行有无图形用户接口都可以运行必须在图形用户接口中运行,使用AWT从Main()方法开始运行从Init方法开始运行一旦开始,就按照它自己的控制流执行具有它自己的控制流,但部分的由所在的浏览器上下文决定.除了java语言本身的安全特征外没有固定的安全机制.具有重要的安全控制以防止恶意的或者自身拙劣的小应用程序损坏用户系统.4. 第一种方式:直接继承Thread类,不能再从其它类继承,编写简单,可以直接操纵线程,无需使用Thread.currentThread( ). 第二种方式:使用Runnable接口,可以将CPU,代码和数据分开,形成清晰的模型; 还可以从其他类继承;灵活性高,保持程序风格的一致性.5.将一个从键盘输入的数字串逆序输出。
第三章处理机调度与死锁1,高级调度与低级调度的主要任务是什么?为什么要引入中级调度?【解】(1)高级调度主要任务是用于决定把外存上处于后备队列中的那些作业调入内存,并为它们创建进程,分配必要的资源,然后再将新创建的进程排在就绪队列上,准备执行。
(2)低级调度主要任务是决定就绪队列中的哪个进程将获得处理机,然后由分派程序执行把处理机分配给该进程的操作。
(3)引入中级调度的主要目的是为了提高内存的利用率和系统吞吐量。
为此,应使那些暂时不能运行的进程不再占用宝贵的内存空间,而将它们调至外存上去等待,称此时的进程状态为就绪驻外存状态或挂起状态。
当这些进程重又具备运行条件,且内存又稍有空闲时,由中级调度决定,将外存上的那些重又具备运行条件的就绪进程重新调入内存,并修改其状态为就绪状态,挂在就绪队列上,等待进程调度。
3、何谓作业、作业步和作业流?【解】作业包含通常的程序和数据,还配有作业说明书。
系统根据该说明书对程序的运行进行控制。
批处理系统中是以作业为基本单位从外存调入内存。
作业步是指每个作业运行期间都必须经过若干个相对独立相互关联的顺序加工的步骤。
作业流是指若干个作业进入系统后依次存放在外存上形成的输入作业流;在操作系统的控制下,逐个作业进程处理,于是形成了处理作业流。
4、在什么情冴下需要使用作业控制块JCB?其中包含了哪些内容?【解】每当作业进入系统时,系统便为每个作业建立一个作业控制块JCB,根据作业类型将它插入到相应的后备队列中。
JCB 包含的内容通常有:1) 作业标识2)用户名称3)用户账户4)作业类型(CPU 繁忙型、I/O芳名型、批量型、终端型)5)作业状态6)调度信息(优先级、作业已运行)7)资源要求8)进入系统时间9) 开始处理时间10) 作业完成时间11) 作业退出时间12) 资源使用情况等5.在作业调度中应如何确定接纳多少个作业和接纳哪些作业?【解】作业调度每次接纳进入内存的作业数,取决于多道程序度。
第3章进程描述和控制复习题:什么是指令跟踪?答:指令跟踪是指为该进程而执行的指令序列。
通常那些事件会导致创建一个进程?答:新的批处理作业;交互登录;操作系统因为提供一项服务而创建;由现有的进程派生。
(详情请参考表3.1)对于图3.6中的进程模型,请简单定义每个状态。
答:运行态:该进程正在执行。
就绪态:进程做好了准备,只要有机会就开始执行。
阻塞态:进程在某些事件发生前不能执行,如I/O操作完成。
新建态:刚刚创建的进程,操作系统还没有把它加入到可执行进程组中。
退出态:操作系统从可执行进程组中释放出的进程,或者是因为它自身停止了,或者是因为某种原因被取消。
抢占一个进程是什么意思?答:处理器为了执行另外的进程而终止当前正在执行的进程,这就叫进程抢占。
什么是交换,其目的是什么?答:交换是指把主存中某个进程的一部分或者全部内容转移到磁盘。
当主存中没有处于就绪态的进程时,操作系统就把一个阻塞的进程换出到磁盘中的挂起队列,从而使另一个进程可以进入主存执行。
为什么图3.9(b)中有两个阻塞态?答:有两个独立的概念:进程是否在等待一个事件(阻塞与否)以及进程是否已经被换出主存(挂起与否)。
为适应这种2*2的组合,需要两个阻塞态和两个挂起态。
列出挂起态进程的4个特点。
答:1.进程不能立即执行。
2.进程可能是或不是正在等待一个事件。
如果是,阻塞条件不依赖于挂起条件,阻塞事件的发生不会使进程立即被执行。
3.为了阻止进程执行,可以通过代理把这个进程置于挂起态,代理可以是进程自己,也可以是父进程或操作系统。
4.除非代理显式地命令系统进行状态转换,否则进程无法从这个状态中转移。
对于哪类实体,操作系统为了管理它而维护其信息表?答:内存、I/O、文件和进程。
列出进程控制块中的三类信息。
答:进程标识,处理器状态信息,进程控制信息。
为什么需要两种模式(用户模式和内核模式)?答:用户模式下可以执行的指令和访问的内存区域都受到限制。
这是为了防止操作系统受到破坏或者修改。
一、单项选择题1.要保证一个程序在主存中被改变了存放位置后仍能正确执行,则对主存空间应采用()技术。
A.动态重定位B.静态重定位C.动态分配D.静态分配2.固定分区存储管理把主存储器划分成若干个连续区,每个连续区称一个分区。
经划分后分区的个数是固定的,各个分区的大小()。
A.是一致的B.都不相同C.可以相同,也可以不相同,但根据作业长度固定D.在划分时确定且长度保持不变3.采用固定分区方式管理主存储器的最大缺点是()。
A.不利于存储保护B.主存空间利用率不高C.要有硬件的地址转换机构D.分配算法复杂4.采用可变分区方式管理主存储器时,若采用最优适应分配算法,宜将空闲区按()次序登记在空闲区表中。
A.地址递增B.地址递减C.长度递增D.长度递减5.在可变分区存储管理中,某作业完成后要收回其主存空间,该空间可能要与相邻空闲区合并。
在修改未分配区表时,使空闲区个数不变且空闲区始址不变的情况是()空闲区。
A.无上邻也无下邻B.无上邻但有下邻C.有上邻也有下邻D.有上邻但无下邻6.在可变分区存储管理中,采用“紧凑"技术可以()。
A.汇集主存中的空闲区B.增加主存容量C.缩短访问周期D.加速地址转换7.页式存储管理中的页表是由()建立的。
A.操作员B.系统程序员C.用户D.操作系统8.采用页式存储管理时,重定位的工作是由()完成的。
A.操作系统B.用户C.地址转换机构D.主存空间分配程序9.采用段式存储管理时,一个程序如何分段是在()决定的。
A.分配主存时B.用户编程时C.装人作业时D.程序执行时10.采用段式存储管理时,一个程序可以被分成若干段,每一段的最大长度是由( )限定的。
A.主存空闲区的长度B.硬件的地址结构C.用户编程时D.分配主存空间时11.实现虚拟存储器的目的是()。
A.扩充主存容量B.扩充辅存容量C.实现存储保护D.加快存取速度12.LRU页面调度算法是选择( )的页面先调出.A.最近才使用B.最久未被使用C.驻留时间最长D.驻留时间最短13.若进程执行到某条指令时发生了缺页中断,经操作系统处理后,当该进程再次占用处理器时,应从()指令继续执行。