ImageVerifierCode 换一换
格式:DOCX , 页数:121 ,大小:58.96KB ,
资源ID:28454098      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/28454098.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(《Java程序设计》上机练习题.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

《Java程序设计》上机练习题.docx

1、Java程序设计上机练习题2004Java程序设计上机练习题(共包括四部分、16个练习、共96个练习题,请使用“视图”中的“文档结构图”查看)一、java语言基础和面向对象(教材内容的第1、2、3章)练习1(4)掌握:各种数据类型变量的定义和访问,各种数据类型常量的使用,数据类型转换。1. 编写Applet,其功能为:取两个小于1000的正随机数,若两个数均小于10,先将它们都放大50倍,否则不改变这两个数。最后,求这两个数的和并将结果输出。要求这些功能在主类的方法init( ) 中实现,并使输出结果仅保留小数点后4位(不需四捨五入)。程序import java.awt.*;import ja

2、va.applet.*;public class Applet1 extends Applet public void init( ) Label out1=new Label( ); Label out2=new Label( ); double x,y; add(out1); add(out2); x=Math.random( )*1000; y=Math.random( )*1000; if(x10&y10) x*=50; y*=50; out1.setText(+x+y+ 约等于 ); out2.setText(+(int)(x+y)*10000)/10000.0); 2. 请编写一个

3、Applet,其功能为:取一个小于10000的正随机整数,并输出该数的平方根。要求这些功能在主类的方法paint( ) 中实现,并使输出结果在四捨五入后保留小数点后4位。程序import java.awt.*;import java.applet.*;public class Applet1 extends Applet public void paint(Graphics g) int k; k=(int)(Math.random( )*1000); g.drawString(+k+ 的平方根约等于 + (int)(Math.sqrt(k)+0.00005)*10000)/10000.0,2

4、0,20); 3. 编写一个Applet,其功能为:取一个50200之间的正随机整数,如果该数为奇数则求它的平方根并转换成float型数后再输出;如果该数为偶数则求它的平方并输出。程序import java.awt.*;import java.applet.*;public class Applet1 extends Applet public void paint(Graphics g) int k; k=50+(int)(Math.random( )*150); if(k%2!=0) g.drawString(+k+ 的平方根约等于 +(float)Math.sqrt(k),20,20);

5、 else g.drawString(+k+ 的平方等于 +k*k,20,20); 4. 请编写一个Application,其功能为:取一个小于800的正随机整数,将其以如下形式输出: 所取随机数为:* 它的百位数字为:* 它的十位数字为:* 它的个位数字为:*程序/import java.io.*;public class Class1 public static void main (String args) int x=(int)(Math.random( )*800); System.out.println(所取随机数为:+x); System.out.println(它的百位数字为:

6、+x/100); System.out.println(它的十位数字为:+x%100/10); System.out.println(它的个位数字为:+x%10); /try System.in.read( ); catch(IOException e) 练习2(5)掌握:(1)数组的定义、创建和初始化。 (2)方法的定义和调用。 (3)方法的参数是数组、方法的返回值是数组的编程。 (4)方法的递归调用。 (5)在应用程序中,接受并处理命令行参数。1.请编写一个Applet,其中定义了两个double类型数组a和b,还定义了一个方法square( )。数组a各元素的初值依次为1.2、2.3、3

7、.4、4.5、5.6, 数组b各元素的初值依次为9.8、8.7、7.6、6.5、5.4、4.3;方法square( )的参数为double类型的数组,返回值为float类型的数组,功能是将参数各元素的平方做为返回数组的元素的值。请在方法paint()中分别以a和b为实在参数调用方法square( ),并将返回值输出在屏幕上。要求调用square( a )的返回数组输出在Applet的一行上,数组的第一个元素的输出坐标为(20,20),其后的每个元素间隔40个像素。调用square( b )的返回数组输出在Applet的一列上,即下标为i+1(i=0,1,2,3,.)的元素的值,在下标为i的元素

8、的值的正下方,其返回数组的第一个元素的输出坐标为(20,40),行隔为20像素。程序import java.awt.*;import java.applet.*;public class Applet1 extends Applet double a =1.2,2.3,3.4,4.5,5.6; double b=9.8,8.7,7.6,6.5,5.4,4.3; public void paint(Graphics g) float x=new floata.length; float y=new floatb.length; x=square(a); y=square(b); for(int

9、i=0; ix.length;i+) g.drawString(+xi,20+i*40,20); for(int i=0; iy.length;i+) g.drawString(+yi,20,40+i*20); float square(double x ) float y=new floatx.length; for(int i=0; i x.length; i+) yi=(float)(xi*xi); return y; 2. 请编写一个Application实现如下功能:在主类中定义两个double类型数组a和b,再定义一个方法sqrt_sum( )。数组a各元素的初值依次为1.2、2.

10、3、3.4、4.5、5.6, 数组b各元素的初值依次为9.8、8.7、7.6、6.5、5.4、4.3;方法sqrt_sum ( )的参数为double类型的数组,返回值类型为float型,功能是求参数各元素的平方根之和。请在主方法main()中分别以a和b为实在参数调用方法sqrt_sum ( ),并将返回值输出在屏幕上。程序/import java.io.*;public class Class1 static double a =1.2,2.3,3.4,4.5,5.6; static double b =9.8,8.7,7.6,6.5,5.4,4.3; public static void

11、 main (String args) System.out.println(数组a各元素的平方根之和为:+sqrt_sum(a); System.out.println(数组b各元素的平方根之和为:+sqrt_sum(b); /try char c=(char)System.in.read( );catch(IOException e) static float sqrt_sum(double x) double y=0.0; for(int i=0; ix.length; i+) y+=Math.sqrt(xi); return (float)y; 3. 请编写一个Application实

12、现如下功能:在主类中定义方法f1(int n) 和方法f2(int n),它们的功能均为求 n!,方法f1( ) 用循环实现,方法f2( )用递归实现 。在主方法main( ) 中,以4为实在参数分别调用方法f1( ) 和方法f2( ),并输出调用结果。程序/import java.io.*;public class Class1 public static void main (String args) System.out.println(用循环实现求 n! 的结果(n=4):+f1(4); System.out.println(用递归实现求 n! 的结果(n=4):+f2(4); /tr

13、y char c=(char)System.in.read( );catch(IOException e) static long f1(int n) long k=1; for(int i=1;i= 3) x=Float.valueOf(args0).floatValue( ); y=Float.valueOf(args1).floatValue( ); op=args2.charAt(0); switch(op) case +: System.out.println(x+y+=+(x+y); break; case -: System.out.println(x+-+y+=+(x-y);

14、break; case *: System.out.println(x+*+y+=+(x*y); break; case /: System.out.println(x+/+y+=+(x/y); break; default : System.out.println(非法运算符!); else System.out.println(命令行参数错!); System.exit(-1); 5. 编写Application,主类中包含以下两个自定义方法: void printA( int array )和int myArray(int n)。方法printA(int array)的功能是把参数数组各

15、元素在屏幕的一行中输出。方法myArray(int n)的功能是生成元素值是50100之间的随机值的int型数组,数组元素的个数由参数n指定。在应用程序的main( )方法中,用命令行传入的整数作为myArray(int n) 方法调用时的实际参数,生成一个整型数组,并调用方法printA( )输出该数组的所有元素。程序public class Class1 static int n; public static void main (String args) if(args.length 0) n=Integer.parseInt(args0); int a=new intn; a=myAr

16、ray(n); printA(a); else System.out.println(缺命令行参数!); System.exit(-1); static void printA(int x) for(int i=0; i x.length; i+) System.out.print(xi+ ); System.out.println( ); return; static int myArray(int k) int x =new intk; for(int i=0; i k; i+) xi=50+(int)(Math.random( )*50); return x; 练习3(3)掌握: 方法的

17、重载。1. 请编写一个Applet,其主类名为Applet1,其中包含两个同名方法arrayMin( ),它们都只有一个参数,其中一个arrayMin( )方法的参数为int型数组,返回值类型为int型数;另一个arrayMin( )方法的参数为double型数组,返回值类型为double型数;这两个方法的功能均为返回参数数组元素的最小值。通过paint( )方法调用上述两个同名方法arrayMin( ),求数组a (其元素的值依次为26,82,-3,65,18,9)和数组b (其元素的值依次为3.6,57.2,8.5,78.8) 的最小元素的值并输出。程序import java.awt.*;

18、import java.applet.*;public class Applet1 extends Applet int a =26,82,-3,65,18,9; double b =3.6,57.2,8.5,78.8; public void paint(Graphics g) g.drawString(数组a 的最小元素的值为: + arrayMin(a),20,20); g.drawString(数组b 的最小元素的值为: + arrayMin(b),20,40); int arrayMin(int x ) int y=x0; for(int i=1; ixi) y=xi; return

19、 y; double arrayMin(double x ) double y=x0; for(int i=1; ixi) y=xi; return y; 2. 请编写一个Application,其主类名为Class1,其中包含三个同名方法mySqrt(),它们都只有一个参数,参数的类型分别为int型、float型和double型,它们的功能均为返回参数的平方根,返回值的类型与参数的类型相同。在主方法main( ) 中调用上面的三个方法,这三个方法的参数均来自命令行参数,最后将计算结果输出在屏幕上。程序public class Class1 static int n; public stati

20、c void main (String args) if(args.length = 3) int n; float f; double d; n=Integer.parseInt(args0); f=Float.valueOf(args1).floatValue( ); d=Double.valueOf(args2).doubleValue( ); System.out.println(n+的平方根为: +mySqrt(n); System.out.println(f+的平方根为: +mySqrt(f); System.out.println(d+的平方根为: +mySqrt(d); els

21、e System.out.println(缺命令行参数!); System.exit(-1); static int mySqrt(int x) return (int)Math.sqrt(x); static float mySqrt(float x) return (float)Math.sqrt(x); static double mySqrt(double x) return Math.sqrt(x); 3. 请编写一个Applet,其主类名为Applet1,其中包含三个同名方法addM(int x, byte y)、addM(float x,double y)、addM(double

22、 x,double y),它们的功能均为求两个参数之和,返回值类型与第一个参数的类型相同。在主类Applet1中,通过paint( )方法调用上面的三个方法,实现12345+67、89.6f+6.9e-8、0.+32.1,然后将计算结果输出,输出位置分别为坐标(20,40)、(20,60)、(20,80)。程序import java.awt.*;import java.applet.*;public class Applet1 extends Applet public void paint(Graphics g) g.drawString(12345+67 = + addM(12345,67

23、),20,40); g.drawString(89.6+6.9e-8 = + addM(89.6f,6.9e-8),20,60); g.drawString(0.+32.1 = + addM(0.,32.1),20,80); int addM(int x, byte y) return x+y; float addM(float x,double y) return (float)(x+y); double addM(double x,double y) return x+y; 练习4(3)掌握: (1) 类的继承。 (2) 在子类中如何操作父类中的私有属性。 (3) 变量的作用域。1. 请编

24、写Applet,它由三个类定义组成,类名分别为A、B和Applet1:类A中定义了一个类型为float的属性f和一个类型为byte的私有属性k;类A还定义了一个带有一个参数的构造函数(用于初始化f),和两个公共方法setk( )和getk( ), 其中setk( ) 的功能为给私有属性k赋值,getk( )的功能为返回私有属性k的值。类B是类A的子类,其中仅定义了一个类型为boolean的属性b和一个带两个参数的构造函数(用来为父类中的变量f和本类的变量b做初始化)。主类Applet1中定义了一个初值为123的int型变量n和一个B类的对象x,请通过创建x为上述f和b赋值(f的值为68.963

25、,b的值为true); 在paint()方法中, 给A类的私有属性k赋值66,然后显示f,k,b,n的值。程序import java.awt.*;import java.applet.*;public class Applet1 extends Applet int n=123; B x=new B(68.963f,true); public void paint(Graphics g) x.setk(byte)66); g.drawString(f=+x.f+ k=+x.getk( )+ b=+x.b+ n=+n,10,20); class A float f; private byte k

26、; A(float f1) f=f1; public byte getk( ) return k; public void setk(byte m) k=m; class B extends A boolean b; B(float ff,boolean bb) super(ff); b=bb; 2. 请按如下要求定义两个类A和B, 类A中定义一个double 类型变量d(将其赋值为8.8)和一个方法int_d(double dd ),该方法的功能是返回参数dd的整数部分。类B是类A的子类,其中定义一个float 类型变量f(将其赋值为18.3)和一个方法int_f(float ff ),该方

27、法的功能是返回参数ff的整数部分。编写一个Application,创建类B的对象b,在主方法main( ) 中先显示d和f的值,然后分别以d和f为实在参数调用int_d( )方法和int_f( )方法,并将它们的返回值显示在屏幕上。程序public class Class1 public static void main (String args) B b=new B( ); System.out.println(d=+b.d+ f=+b.f); System.out.println(d的整数部分=+b.int_d(b.d)+ f的整数部分=+b.int_f(b.f); class A double d=8.8; int int_d(double dd) return (int)dd; class B extends A float f=18.3f; int int_f(float ff) return (int)ff; 3. 请编写一个Application ,

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1