Java程序上机练习题库(含答案) .doc
《Java程序上机练习题库(含答案) .doc》由会员分享,可在线阅读,更多相关《Java程序上机练习题库(含答案) .doc(67页珍藏版)》请在三一办公上搜索。
1、上机练习题(共包括四部分、16个练习、共96个练习题,请使用“视图”中的“文档结构图”查看)一、java语言基础和面向对象(教材内容的第1、2、3章)练习1(4)掌握:各种数据类型变量的定义和访问,各种数据类型常量的使用,数据类型转换。1. 编写Applet,其功能为:取两个小于1000的正随机数,若两个数均小于10,先将它们都放大50倍,否则不改变这两个数。最后,求这两个数的和并将结果输出。要求这些功能在主类的方法init( ) 中实现,并使输出结果仅保留小数点后4位(不需四捨五入)。程序import java.awt.*;import java.applet.*;public class
2、Applet1 extends Appletpublic 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. 请编写一个Applet,其功能为:取一个小于10000的正随机整数,并输出
3、该数的平方根。要求这些功能在主类的方法paint( ) 中实现,并使输出结果在四捨五入后保留小数点后4位。程序import java.awt.*;import java.applet.*;public class Applet1 extends Appletpublic void paint(Graphics g)int k;k=(int)(Math.random( )*1000);g.drawString(+k+ 的平方根约等于 + (int)(Math.sqrt(k)+0.00005)*10000)/10000.0,20,20);3. 编写一个Applet,其功能为:取一个50200之间的
4、正随机整数,如果该数为奇数则求它的平方根并转换成float型数后再输出;如果该数为偶数则求它的平方并输出。程序import java.awt.*;import java.applet.*;public class Applet1 extends Appletpublic 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);else g.drawString(+k+ 的平方等于 +k*k,20,20);4
5、. 请编写一个Application,其功能为:取一个小于800的正随机整数,将其以如下形式输出: 所取随机数为:* 它的百位数字为:* 它的十位数字为:* 它的个位数字为:*程序/import java.io.*;public class Class1public static void main (String args)int x=(int)(Math.random( )*800);System.out.println(所取随机数为:+x);System.out.println(它的百位数字为:+x/100); System.out.println(它的十位数字为:+x%100/10);
6、 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.4、4.5、5.6, 数组b各元素的初值依次为9.8、8.7、7.6、6.5、5.4、4.3;
7、方法square( )的参数为double类型的数组,返回值为float类型的数组,功能是将参数各元素的平方做为返回数组的元素的值。请在方法paint()中分别以a和b为实在参数调用方法square( ),并将返回值输出在屏幕上。要求调用square( a )的返回数组输出在Applet的一行上,数组的第一个元素的输出坐标为(20,20),其后的每个元素间隔40个像素。调用square( b )的返回数组输出在Applet的一列上,即下标为i+1(i=0,1,2,3,.)的元素的值,在下标为i的元素的值的正下方,其返回数组的第一个元素的输出坐标为(20,40),行隔为20像素。程序import
8、 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 i=0; ix.length;i+)g.drawString(+xi,20+i*40,20);for(int
9、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.3、3.4、4.5、5.6, 数组b各元素的初值依次为9.8、8.7、7.6、6.5、5.4、4.3;方法sqrt_sum (
10、)的参数为double类型的数组,返回值类型为float型,功能是求参数各元素的平方根之和。请在主方法main()中分别以a和b为实在参数调用方法sqrt_sum ( ),并将返回值输出在屏幕上。程序/import java.io.*;public class Class1static 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 main (String args)System.out.println(数组a各元素的平方根之和为:+sqrt_sum(a);Sy
11、stem.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实现如下功能:在主类中定义方法f1(int n) 和方法f2(int n),它们的功能均为求 n!,方法f1( ) 用循环实现,方法f2( )用递归实
12、现 。在主方法main( ) 中,以4为实在参数分别调用方法f1( ) 和方法f2( ),并输出调用结果。程序/import java.io.*;public class Class1public static void main (String args)System.out.println(用循环实现求 n! 的结果(n=4):+f1(4);System.out.println(用递归实现求 n! 的结果(n=4):+f2(4);/try char c=(char)System.in.read( );catch(IOException e) static long f1(int n)lon
13、g 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); break; case *: System.out.println(x+*+y+=+(x*y); break; case /: System.out.println(x
14、+/+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)的功能是把参数数组各元素在屏幕的一行中输出。方法myArray(int n)的功能是生成元素值是50100之间的随机值的int型数组,数组元素的个数由参数n指定。在应用程序的main( )方
15、法中,用命令行传入的整数作为myArray(int n) 方法调用时的实际参数,生成一个整型数组,并调用方法printA( )输出该数组的所有元素。程序public class Class1static int n;public static void main (String args)if(args.length 0)n=Integer.parseInt(args0); int a=new intn; a=myArray(n); printA(a);else System.out.println(缺命令行参数!); System.exit(-1); static void printA(i
16、nt 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)掌握: 方法的重载。1. 请编写一个Applet,其主类名为Applet1,其中包含两个同名方法arrayMin( ),它们都只有一个参数,其中一个arrayMin( )方法的参数为int型数组,返回值类型为i
17、nt型数;另一个arrayMin( )方法的参数为double型数组,返回值类型为double型数;这两个方法的功能均为返回参数数组元素的最小值。通过paint( )方法调用上述两个同名方法arrayMin( ),求数组a (其元素的值依次为26,82,-3,65,18,9)和数组b (其元素的值依次为3.6,57.2,8.5,78.8) 的最小元素的值并输出。程序import java.awt.*;import java.applet.*;public class Applet1 extends Applet int a =26,82,-3,65,18,9;double b =3.6,57.
18、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 y;double arrayMin(double x )double y=x0;for(int i=1; ixi) y=xi;return y;2. 请编写一个Application,其主类名为Class1
19、,其中包含三个同名方法mySqrt(),它们都只有一个参数,参数的类型分别为int型、float型和double型,它们的功能均为返回参数的平方根,返回值的类型与参数的类型相同。在主方法main( ) 中调用上面的三个方法,这三个方法的参数均来自命令行参数,最后将计算结果输出在屏幕上。程序public class Class1static int n;public static void main (String args)if(args.length = 3)int n;float f;double d;n=Integer.parseInt(args0);f=Float.valueOf(ar
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java程序上机练习题库含答案 Java 程序 上机 练习 题库 答案
链接地址:https://www.31ppt.com/p-2386941.html