JAVA第三次作业
- 格式:docx
- 大小:19.42 KB
- 文档页数:2
《Java语言与WWW技术》形成性考核第三次作业一、选择题1、创建一个标识有”关闭”按扭的语句是()。
A.TextField b = new TextField(“关闭”);B.Label b = new Label(“关闭”);C.Checkbox b = new Button(“关闭”);D.Button b = new Button(”关闭”);2、在Java中,开发图形用户界面的程序需要使用一个系统提供的类库,这个类库就是()包A.java.io B. java.awt C.java.applet D. java.awt.event3.在Java图形用户界面编程中,若显示一些不需要修改的文本信息,一般是使用()类的对象来实现。
A. LabelB.ButtonC. TextAreaD. TextField4.在编写Java Applet程序时,若需要对发生的事件作出响应和处理,一般需要在程序的开头写上()语句。
A.import java.awt.*;B.import java.applet.*;C.import java.io.*;D. import java.awt.event.*;5、AWT库中最基础的类是()。
A. ponentB. ng.ObjectC. java.awt.ContainerD. java.awt.Panel6.在Applet中,创建一个具有10行45列的多行文本区域对象ta的语句为:()A、TextEvent ta = new TextEvent(10 , 45 );B、TextArea ta = new TextArea( 10 , 45 );C、Lable ta =new Lable ( 10 , 45 );D、TextField ta = new TextField ( 10 , 45 )7、以下代码完成画线功能,所画线的颜色是()。
1.g.setColor(Color.red.green.yello.cyan);2.g.drawLine(0,0,100,100);A.redB.greenC.yelloD.cyan8、以下()可能包含菜单条。
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的异常处理机制?异常是在程序的运行过程中所发生的非正常事件,它中断指令的正常执行。
【石油大学】Java语言程序设计-第三次在线作业试卷总分:100 得分:100第1题,1.(2.5分)容器被重新设置大小后,哪种布局管理器的容器中的组件大小不随容器大小的变化而改变A、CardLayoutB、FlowLayoutC、BorderLayoutD、GridLayout正确答案:B第2题,2.(2.5分)paint()方法使用哪种类型的参数A、GraphicsB、Graphics2DC、StringD、Color正确答案:A第3题,3.(2.5分)监听事件和处理事件A、都由Listener完成B、都由相应事件Listener处登记过的构件完成C、由Listener和构件分别完成D、由Listener和窗口分别完成正确答案:B第4题,4.(2.5分)下列哪个属于容器的构件A、JFrameB、JButtonC、JpnelD、Japplet正确答案:A第5题,5.(2.5分)下列不属于容器的是A、WindowB、TextBoxC、PanelD、ScrollPane正确答案:B第6题,6.(2.5分)下面哪个语句是正确的A、Object o=new Button(″A″);B、Button b=new Object(″B″);C、Panel p=new Frame();D、Frame f=new Panel();正确答案:A第7题,7.(2.5分)在下列事件处理机制中哪个不是机制中的角色A、事件B、事件源C、事件接口D、事件处理者正确答案:C第8题,8.(2.5分)Applet类的直接父类是A、Component类B、Container类C、Frame类D、Panel类正确答案:D第9题,9.(2.5分)下面关于Applet的说法正确的是A、Applet也需要main方法B、Applet必须继承自java.awt.AppletC、Applet能访问本地文件D、Applet程序不需要编译正确答案:B第10题,10.(2.5分)下面这些方法中,哪个不是Applet的基本方法A、init()B、run()C、stop()D、start()正确答案:B第11题,11.(2.5分)Frame默认的布局管理器是________A、FlowLayoutB、BorderLayoutC、GridLayoutD、CardLayout正确答案:B第12题,12.(2.5分)下列声明的类哪个可以用来响应鼠标拖动事件________A、class J_A implements MouseMotionAdapterB、class J_B implements MouseMotionListenerC、class J_C implements MouseAdapterD、class J_D implements MouseListener正确答案:B第13题,13.(2.5分)下列哪个方法可用于创建一个可运行的类A、public class X implements Runable{ public void run(){......} }B、public class X implements Thread{ public void run(){......} }C、public class X implements Thread{ public int run(){......} }D、public class X implements Runable{ protected void run(){......} }正确答案:A第14题,14.(2.5分)为实现多线程之间的通信,需要使用下列哪种流才合适A、Filter streamB、File streamC、Random access streamD、Piped stream正确答案:D第15题,15.(2.5分)哪个关键字可以对对象加互斥锁?A、transientB、synchronizedC、serializeD、static正确答案:B第16题,16.(2.5分)以下哪个方法用于定义线程的执行体?A、start()B、init()C、run()D、main()正确答案:C第17题,17.( 2.5分)运行下列程序,会产生什么结果publicclassXextendsThreadimplementsRunnable{publicvoidrun(){System.out.println(" thisisrun()");}publicstaticvoidmain(Stringargs[]){Threadt=newThread(newX());t.st art();}}A、第一行会产生编译错误B、第六行会产生编译错误C、第六行会产生运行错误D、程序会运行和启动正确答案:D第18题,18.(2.5分)异常包含下列哪些内容A、程序中的语法错误B、程序的编译错误C、程序执行过程中遇到的事先没有预料到的情况D、程序事先定义好的可能出现的意外情况正确答案:D第19题,19.(2.5分)对于catch子句的排列,下列哪种是正确的A、父类在先,子类在后B、子类在先,父类在后C、有继承关系的异常不能在同一个try程序段内D、先有子类,其他如何排列都无关正确答案:B第20题,20.(2.5分)在异常处理中,如释放资源、关闭文件、关闭数据库等由()来完成A、try子句B、catch子句C、finally子句D、throw子句正确答案:C第21题,21.(2.5分)当方法遇到异常又不知如何处理时,下列哪种说法是正确的A、捕获异常B、抛出异常C、声明异常D、嵌套异常正确答案:B第22题,22.(2.5分)哪个关键字可以抛出异常?A、transientC、throwD、static正确答案:C第23题,23.(2.5分)线程类的哪种方法用来启动一个新线程的执行?A、run()B、start()C、begin()D、run(Runnable r)正确答案:B第24题,24.(2.5分)Character流与Byte流的区别是A、每次读入的字节数不同B、前者带有缓冲,后者没有C、前者是块读写,后者是字节读写D、二者没有区别,可以互换使用正确答案:A第25题,25.(2.5分)Java中哪个类提供了随机访问文件的功能A、RandomAccessFile类B、RandomFile类C、File类D、AccessFile类正确答案:A第26题,26.(2.5分)说明下列哪项为InputStreamReader的正确创建方法?A、new InputStreamReader(new FileInputStream(“data”));B、new InputStreamReader(new FileReader(“data”));C、new InputStreamReader(new BufferedReade r(“data”));D、new InputStreamReader(“data”);正确答案:A第27题,27.(2.5分)在下列选项中,哪些类型的实例对象的引用可以作为类java.io.DataOutputStream的构造方法的参数A、ng.StringB、java.io.FileC、java.io.FileOutputStreamD、java.io.RandomAccessFile第28题,28.(2.5分)用”newFileOutputStream(“data.txt”,true)”创建一个FileOutputStream实例对象,则下面哪些说法是正确的A、如果文件data.txt存在,则将抛出IOException;B、如果文件data.txt不存在,则将抛出IOException;C、如果文件data.txt存在,则将覆盖文件中已有的内容;D、如果文件data.txt存在,则将在文件末尾添加新内容;正确答案:D第29题,29.(2.5分)当需要在文件中写入字符而不是字节时,在下面的类最好选用哪个类A、java.io.RandomAccessFileB、java.io.PrintWriterC、java.io.PrintStreamD、java.io.PrintOutputWriter正确答案:B第30题,30.( 2.5分)下列语句片段inta=10,b=4,c=20,d=6;System.out.println(a++*b+c*--d);的结果为()A、144B、28C、140D、不能执行正确答案:A第31题,31.(2.5分)在Swing用户界面的程序设计中,容器可以被添加到其它容器中去正确错误正确答案:正确第32题,32.(2.5分)applet可以运行在浏览器中。
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.将一个从键盘输入的数字串逆序输出。
⼀、单选题(共 50.00 分)Java 程序设计(深圳⼤学继续教育学院引进课程) 第三次作业1. A.B.C.D.设 x 、y 为已定义的类名,下列声明x 类的对象x1的语句正确的是static x x1;public x x1=new y (int 123);y x1;x x1=x ( );正确答案:A2. A.B.C.D.下列哪个类声明是正确的abstract final class H1{…}abstract private move (){…}protected private number ;public abstract class Car {…}正确答案:D3. A.B.C.D.下⾯哪个语句不能定义⼀个字符变量char c1=06477;char c4=0xbeef ;char c2=‘\uface’ ;char c3=\u0041;正确答案:D4. A.B.C.D.在Java 中,⼀个类可以同时定义许多同名的⽅法,这些⽅法的形式参数的个数、类型或顺序各不相同,传回的值也可以不相同。
这种⾯向对象程序特性称为( )隐藏覆盖重载Java 不⽀持此特性正确答案:C5. A.B.C.D.设int 型变量a 、b ,float 型变量x 、y ,char 型变量ch 均已正确定义并赋值,正确的switch 语句是switch (x + y ){ …… }switch ( ch + 1 ){ …… }switch ch{ …… }switch ( a + b );{ …… }正确答案:B6.假设d 是⼀个double 局部变量,下列那些语句输出数值的⼩数后⼀位?⼆、多选题(共 25.00 分)6.A.B.C.D.System.out.println ((int )(10*d )/10.0);System.out.println ((int )(10*d/10.0));System.out.println ((int )(10.0*d/10));System.out.println ((int )(10.0*d )/10);正确答案:A7. A.B.C.D.认真阅读代码,选择正确的选项if("String".toString() == "String")System.out.println("Equal");elseSystem.out.println("Not Equal");编译成功,输出“Equal”编译成功,输出“Not Equal”不能编译以上选项均不正确正确答案:A8. A.B.C.D.下⾯哪个是Java 语⾔中正确的标识符3comimportthatthis正确答案:C9. A.B.C.D.Thread 类中运⾏线程体的⽅法是________。
2013年9月份考试Java程序设计第三次作业一、程序阅读题(本大题共30分,共 5 小题,每小题 6 分)1. public class test{static StringBuffer sb1=new StringBuffer("Hello");static StringBuffer sb2=new StringBuffer("Hello");public static void main(String args[]){aMethod(sb1,sb2);System.out.println("sb1 is "+sb1);System.out.println("sb2 is "+sb2);}public static void aMethod(StringBuffer sb1,StringBuffer sb2) {sb2.append(" there");sb1=sb2;}}2. public class test{public static void stringReplace(String text){text.replace(''a'',''e'');}public static void bufferReplace(StringBuffer text){text=text.append("s");}public static void main(String args[]){String textString=new String("china");StringBuffer textBuffer=new StringBuffer("china");stringReplace(textString);bufferReplace(textBuffer);System.out.println(textString+textBuffer);}}3.4. class A{class Dog{private String name;private int age;public int step;Dog(String s,int a){name=s;age=a; step=0;}public void run(Dog fast){fast.step++;}}public static void main (String args[]) {A a=new A();Dog d=a.new Dog("Tom",3);d.step=25;d.run(d);System.out.println(d.step);}}5. public class test{public static void main (String args[ ]){int a =25, b=3, e =3;if(e!=0&&a/e>5) System.out.println("a/e="+a/e);int f=0; if(f!=0&&a/f>5) System.out.println("a/f"+a/f);else System.out.println("f="+f);}}二、简答题(本大题共30分,共 5 小题,每小题 6 分)1. 什么是接口,它的主要作用是什么?2. String类与StringBuffer类的主要区别是什么?3. 什么是Applet,如何运行一个Applet?4. 如何构造一个线程(两种方法)?5. 如果需要的文件不存在,在访问时会产生异常吗,产生什么异常?三、程序设计题(本大题共40分,共 4 小题,每小题 10 分)1. 编写程序实现根据月份自动判断题该月所属季节的功能(3~5月为春季,6~8为夏季,9~11为秋季,12,1,2为冬季)2. 编写程序将任意三个变量a,b,c中的值进行交换,使得变量a的值最小,b其次,c的值最大.3. 编写一个程序,从标准输入(即键盘)读入10个整数存入整型数组a中,然后逆序输出这10个整数.4. 编写程序输出如下所示图形答案:一、程序阅读题(30分,共 5 题,每小题 6 分)1.参考答案:sb1 is Hello sb2 is Hello there解题方案:评分标准:完全一样才得分2.参考答案:chinachinas解题方案:评分标准:完全一样才得分3.参考答案:4解题方案:评分标准:完全一样才得分4.参考答案:26解题方案:评分标准:完全一样才得分5.参考答案:a/e=8 f=0解题方案:评分标准:完全一样才得分,多写不得分二、简答题(30分,共 5 题,每小题 6 分)1.参考答案:接口就是方法定义和常量值的集合,从本质上讲,接口是一种特殊的抽象类,这种抽象类中包含常量和方法的定义,而没有变量的和方法的实现. 它的的主要作用包括以下几方面:(1)通过接口可以实现不相关类的相同行为,而不需考虑这些类之间的的层次关系. (2)通过接口可以指明多个类需要实现的方法.(3)通过接口可以了解对象的交互界面,而不需了解对象所对应的类.解题方案:评分标准:接口概念1分,作用1个1分2.参考答案:类StringBuffer可以直接改变字符串的值或长度,而String对象却只能访问,不能直接进行修改,如果要修改,必须先生成对象的拷贝,再对拷贝进行修改.这是它们之间最大的区别.解题方案:评分标准:回答太简单得2分,全面4分3.参考答案:Applet是嵌入到网页的java小程序.Applet在浏览器中运行,必须创建一个html文件,把Applet嵌入到html中,在浏览器中给出html文件的URL地址即可解题方案:评分标准:1个小问题2分4.参考答案:构造线程体有两种方式 1定义一个线程类,它继承Thread类,并重写其中的run ()方法.直接生成这个类的对象就可以构造一个线程.2提供一个实现接口?Runnable的类作为线程的目标对象.在构造线程对象时,通过方法?Thread(Runnable?target,String?name)把目标对象传给这个线程实例. 解题方案:评分标准:1个方法2分5.参考答案:会产生异常,因为,如果构造FileInputStrem对象访问文件时,如果文件不存在,不能构造FileInputStream对象,器构造方法会抛弃FileNotFoundException类型的异常.解题方案:评分标准:会产生异常2分,产生什么异常2分三、程序设计题(40分,共 4 题,每小题 10 分)1.参考答案:public class MyClass3_3{public static void main(String args[]) {int month=7;String season;switch(month){case 12: case 1: case 2: season="冬季"; break;case 3: case 4: case 5: season="春季"; break;case 6: case 7: case 8: season="夏季"; break;case 9: case 10: case 11: season="秋季"; break; default: season="非月份数据";}System.out.println(month+"月是"+season); }}解题方案:评分标准:结构3分,功能实现4分,语法3分2.参考答案:public class Example{public static void main(String args[]) {int a=9,b=5,c=7,t;if(a>b){t=a;a=b;b=t;}if(a>c){t=a;a=c;c=t;}if(b>c){t=b;b=c;c=t;}System.out.println("a="+a+",b="+b+",c="+c);}}解题方案:评分标准:结构3分,功能实现4分,语法3分3.参考答案:import java.io.BuffereReader;import java.io.IOException;import java.io.InputStreamReader; public class ReaderNum{{public static void main(String args[ ])throws IOException{int i,n=10;int a[ ] =new int[10]; InputStreamReader ir=new InputStreamReader(System.in); BufferedReader ir=new BufferedReader(ir);String s;for(i=0;i<n;i++){s=in.readLine();a[i]=Integer.parseInt(s);}for(i=n-1;i>=0;i--)System.out.print(a[i]+" ");}}解题方案:评分标准:结构3分,功能实现4分,语法3分. 重点:for ( i = n-1 ; i >= 0 ; i -- ) System.out.print(a[i]+" ");4.参考答案:public class In {public static void main(String[ ]args){ int i,j;for(i=1;i<=8;i++){if(i<=4)//输出前四行{for (j=1;j<=2*i-1;j++)System.ou.print("*");System.out.print1n();} else//输出后四行{for(j=1;j<=9-i;j++)System.out.print("*");System.out.print1n();}}}}解题方案:评分标准:结构3分,功能实现4分,语法3分。
第三次大作业(1) 编程实现一个文本编辑器,使其具有新建、打开、保存文件等基本功能,还可额外增加设定文字颜色、字行以及编辑区域的背景颜色等功能。
(2) 光盘借阅管理设计以下几个类:光盘类:用户类:借阅记录类,包括下列模块:1) 新建、修改、删除光盘信息;2) 新建、修改、删除用户信息;3) 光盘借阅/归还4) 查询光盘名称,用户的借阅历史;要求:基于JFrame窗体设计、使用菜单和SQL Server数据库补充:类似的题目大家还可以选择学生信息管理系统、超市收银系统、仓库管理系统、医院挂号系统、ATM系统等。
这些系统至少有权限管理,如用户、管理员权限。
信息的增删改查功能;报表打印功能等。
(3) 实现一个Java版即时聊天程序。
【功能提示】1)用户登录及登录验证:用户能够使用固定帐号(帐号程序内置即可,无需完成额外的注册功能)登录系统,系统能对预定的帐号、密码进行验证;2)聊天功能:能够在两台以上的机器上登录运行程序,能使用不同帐号完成在线的即时消息发送(聊天);3)文件传输;4)好友管理:能够显示好友列表,并能够添加、修改、删除好友;5)在线、离线状态显示:能够显示好友的在线状态或离线状态。
6)聊天记录管理:能够以文件或数据库形式将聊天记录进行存储,并能打开、显示、删除所存储的聊天记录。
补充:其它可选的还包括Java多人在线网络聊天室、B/S结构的聊天系统等。
编程实现一个简单的网络通信工具,能够进行点对点的消息通信以及文件传输等功能。
(4) 或者自己感兴趣的内容!要求:1)以上题目,至少完成一题。
2)程序上机调试通过,调试通过后才登记;3)把程序、运行结果和感想体会严格按照格式要求写在A4纸上提交,至少四页,另加封面。
本作业占70%的考核成绩。
北邮JAVA第三次作业科学计算器(附源代码)JAVA第三次作业选题:科学计算器一、设计思路(1)布局1.数字键盘有0~9和小数点2.符号键盘有+某÷,幂,开方,lg,ln3.功能按键有清屏(AC)和删除(Del)(2)计算器流程状态转移图设定的标志位和变量有:booleannumflag=fale;//标志:是否输入数字booleanopflag=fale;//标志:是否输入运算操作符Stringt某t=null;//显示到文本框里的字符串Stringnum_t某t=\;//当前操作数的字符串形式Stringop=\;//存放输入的运算操作符num1=0;//第一个操作数num2=0;//第二个操作数privateBigDecimalbig_num1=newBigDecimal(Double.toString(0)); //解决浮点数的精度丢失问题privateBigDecimalbig_num2=newBigDecimal(Double.toString(0));1.关于操作数操作数为输入数字时会改变的数,有num1和num2。
按下运算符和控制字符,会设定当前下在键入的操作数,由opflag控制,fale表示正在操作num1,true表示正在操作num2。
初始状态下的操作数为num1。
按下AC会恢复操作数为初始状态num1。
按Delete、开方、lg、ln不会改变当前的操作数。
其中后三者只对num1有效。
其他的运算符和控制符都会使操作数为num2。
2.计算器的状态框图输入第一个数,比如53numflag=true(num1)opflag=falenum_t某t=”53”op=””t某t=”53”初始状态numflag=faleopflag=falenum_t某t=””op=””t某t=nullnum1,num2=0按下一个运算符,比如+numflag=faleopflag=truenum_t某t=””op=”+”t某t=”num1+”其中按下按=显示结果,恢复初始状态numflag=true(num1)opflag=falenum_t某t=””op=””t某t=”reult”“=”后,结果存输入第二个数,比如66入numflag=true(num2)opflag=truenum_t某t=”66”op=””t某t=”num1+66”num1,继续输入数字会在num1的结果上处理。
1.顺序语句练习1(将摄氏温度转换为华氏温度)编写程序,从控制台读入double型的摄氏温度,然后将其转换为华氏温度,并且显示结果。
转换公式如下所示:(5分)fahrenheit = (9/5) * celsius +32 (华氏度=(9/5)*摄氏度+32)**2(求一个整数各位数的和)编写程序,读取一个在0和1000之间的整数,并将该整数的各位数字相加。
例如:整数是932,各位数字之和为14。
(10分)提示:利用运算符%分解数字,然后使用运算符/去掉分解出来的数字。
例如:932%10=2,932/10=93。
**3. 整钱兑零(10分)假如你希望开发一个程序,将给定的钱数分类成较小的货币单位。
这个程序要求用户输入一个double型的值,该值是用美元和美分表示的总钱数,然后输出一个清单,列出和总钱数等价的dollar(1美元)、quarter(2角5分)、dime(1角)、nickel(5分)和penny(1分)的数目。
例如:11.56:11个1美元2个quanter 0个dime 1个nickel 1个penny下面是开发这个程序的步骤:1)提示用户输入十进制数作为总钱数,例如11.56。
2)将该钱数(例如11.56)转换为1分币的个数(例如1156)。
3)通过将1分币的个数除以100,求出1美元的个数。
通过对1分币的个数除以100求余数,得到剩余1分币的个数。
4)通过将剩余的1分币的个数除以25,求出2角5分币的个数。
通过对剩余的1分币的个数除以25求余数,得到剩余1分币的个数。
5)将剩余的1分币的个数除以10,求出1角币的个数。
通过对剩余的1分币的个数除以10求余数,得到剩余1分币的个数。
6)将剩余的1分币的个数除以5,求出5分币的个数。
通过对剩余的1分币的个数除以5求余数,得到剩余1分币的个数。
7)剩余1分币的个数即为所求。
8)显示结果。
4. 求ASCII码对应的字符)编写程序接收一个ASCII码(从0到128的整数),然后显示它所代表的字符。