Java程序上机练习题 联系客服

发布时间 : 星期三 文章Java程序上机练习题更新完毕开始阅读2dfdfc4b2b160b4e767fcfac

}

static long f1(int n) {

long k=1;

for(int i=1;i<=n;i++)

k*=i;

}

static long f2(int n) { }

if(n==1) return 1; else return n*f2(n-1); return k;

}

4. 请编写一个Application实现如下功能:接受命令行中给出的三个参数x1、x2和op,其中x1和x2为float型数,op是某个算数运算符(+、 —、*、/ 之一),请以如下形式输出 x1 和x2执行 op 运算后的结果(假设x1的值为269,x2的值为18,op为运算符—): 269 – 18=251 @程序

public class Class1 { public static void main (String[] args) { float x,y; char op; if(args.length >= 3) { x=Float.valueOf(args[0]).floatValue( ); y=Float.valueOf(args[1]).floatValue( ); op=args[2].charAt(0); switch(op) { case '+': System.out.println(x+\ break; case '-': System.out.println(x+\ break; case '*': System.out.println(x+\ break; case '/': System.out.println(x+\ 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)的功能是生成元素值是50~100之间的随机值的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(args[0]); int[ ] a=new int[n]; a=myArray(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(x[i]+\ \ System.out.println( ); return; } static int[ ] myArray(int k) { int x[ ]=new int[k]; for(int i=0; i< k; i++) x[i]=50+(int)(Math.random( )*50); return x; } }

练习3(3)

掌握: 方法的重载。

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.*;

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 的最小元素的值为: \ g.drawString(\数组b 的最小元素的值为: \ } int arrayMin(int x[ ]) { int y=x[0]; for(int i=1; i< x.length; i++) if(y>x[i]) y=x[i]; return y; } double arrayMin(double x[ ]) { double y=x[0]; for(int i=1; i< x.length; i++) if(y>x[i]) y=x[i]; return y; } }

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

public class Class1 { static int n; public static void main (String[] args) { if(args.length >= 3) { int n; float f; double d; n=Integer.parseInt(args[0]); f=Float.valueOf(args[1]).floatValue( ); d=Double.valueOf(args[2]).doubleValue( ); System.out.println(n+\的平方根为: \ System.out.println(f+\的平方根为: \ System.out.println(d+\的平方根为: \ } else { 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 x,double y),它们的功能均为求两个参数之和,返回值类型与第一个参数的类型相同。在主类Applet1中,通过paint( )方法调用上面的三个方法,实现12345+67、89.6f+6.9e-8、0.987654321+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(\ g.drawString(\

g.drawString(\ } 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. 请编写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,b的值为true); 在paint()方法中, 给A类的私有属性k赋值66,然后显示f,k,b,n的值。