java程序练习题 联系客服

发布时间 : 星期日 文章java程序练习题更新完毕开始阅读58ab5b1bc5da50e2534d7f07

1 1 1 1 1 1 1 1 2 2 2 2 2 1 1 2 3 3 3 2 1 1 2 3 4 3 2 1 1 2 3 3 3 2 1 1 2 2 2 2 2 1 1 1 1 1 1 1 1

82.编写一个检查二维数组(n*n)是否对称,即对所有I,j都有a[I][j]=a[j][I]

83.设计一函数,输入若干个整数,返回这些整数的最大公约数。如果要返回这些数的最小公倍数呢? 84.设计一函数,检查输入的5位字符串是否为连续的数字字符。如23456,01234,98765

85.用正则表达式,设计以函数,用以获得字符串尾部的数字或字母。如:?到第8?, ?到第12?,”去A” 86.用正则表达式分离如下列字符串所示的各个部分

a)大步的快走 b)小步的快走 c)不快,仰著头面对著世界d)不快,低著头 e)很慢 a)第一步3米 b) 第二步4米c) 第三步9米 87.世界卫生组织提供的健康标准:

体重指数公式:BMI=体重(kg)/(身高(m)* 身高(m)) 当 BMI <18.5 时属于偏瘦。加强锻炼,适当补充营养\ 当 BMI在18.5—25 时属于正常范围,继续保持 当 BMI >25--<30 时属于超重。

当 BMI >30 时属于较肥胖。要加强锻炼,不吃零食和高热量、高脂肪食物!

88.设计一个方法,用户输入春季,程序输出12,1,2月份;

夏季,程序输出3,4,5月份; 秋季,程序输出6,7,8月份; 冬季,程序输出9,10,11月份;

其它,程序输出 ”不存在的月份”

89.编写一个加密类,在其中实现对字符数组的加密和解密方法。加密原理是:

加密后的字符数组的第一个字符是原字符数组的最后一个自负,其余的每个字符是对应的原字符数组中的前一个字符的值加上3。比如:{?w?,?e?,?i?,?c?,?o?,?m?,?e?},末尾的字符为?e?, {?w?,?e?,?i?,?c?,?o?,?m?}依次加上3后成为{?z?,?h?,?o?,?f?,?r?,?p?},故加密后的结果为 {?e?,?z?,?h?,?o?,?f?,?r?,?p?}

90.设计一个类,在其中实现计算两个数的平方和的方法,要求支持int 和 double

类设计练习:

0. 设计一个表示出生日期的类.用整形数表示出生年、月、日

提供一个无参构造函数和带三个参数的构造函数,并提供一个方法用以显示

此人的出生日期,显示格式为:XXXX年XX月XX日(年份为4位,月份和日分别为2位)。 1. 定义一个表示平面中的点的类 Point,并提供两个构造函数

其中一个无参构造函数,一个带有两个参数(x,y)的构造函数

提供方法:offset,用于将该点相对移动一个偏移(deltaX,deltaY)

2 设计一个Size类,用来描述一个 具有宽度和高度的形状,并提供改变宽度或高度的方法, 3.设计一个描述矩形的类Rectangle,可以借助于上面的两个类 并提供返回宽度、高度及坐标的方法 4.试定义一个Mathematics类,它具有下列静态成员

5.

double abs(double x)

int abs(int x)

double max (double x,double y) int max (int x,int y)

double round(double x, int precision) 定义一个表示人的类:

属性:姓名,身高,出生日期,血型 方法: 返回人的基本信息: 姓名=,身高=,出生日期=,血型=

6.用字符串操作函数实现对整数进行格式化为m位长度的函数。

7. 设计一个员工类。该员工具有下列私有属性:编号,姓名,基本工资,奖金

提供有参构造函数:Employee(Strng ID,String name),

提供上述私有属性的读写函数.

提供计算个人所得税的方法: 所得税=(基本工资+奖金-1600)*15% (基本工资+奖金>1600 的部分才

计算所得税)

提供计算员工实发工资的方法: 实发工资=基本工资+奖金-所得税.

8. 根据下列要求,完成具有下列功能的组件,假设组件封装在类Hex中。 功能要求如下:

8.1.提供下列静态方法: 检查字符串是否为合法的十六进制数(每一个字符由0—9,A—F组成) static private boolean IsHex(string HexString)

将十进制数转换为十六进制字符串 static public String LongToHex(long n) 将十六进制字符串转换为十进制数。

static public long HexToLong(string hexString) public Hex(string HexString) //用十进制数构造一个十六进制字符串 public Hex(long Number)

8.2.提供两个重载的构造函数

8.3.覆盖祖先类的方法toString(),使其输出十六进制字符串

public String ToString() public String HexString

8.4.提供只读属性,获取十六进制字符串 8.5.提供实例方法,将本对象转换为十进制数

//转换为十进制数

public long ToLong() { }

return HexToLong(m_HexString);

8.6.提供类型转换功能,将本对象显示转换(为long)

static public long(Hex hex) static public Hex(long n)

8.7.提供将长整形显示转换本对象(Hex)

9.

设计两个类:Point 描述一个点; Distance 描述两点之间的距离(这是一个典型的类组合) class Point{ private int x,y; public Point(){} Point Point(Point p) //用拷贝而不是引用 }

Int getX(){} Int getY(){}

class Distance{ private Point p1,p2; double dist;

public Distance(Point p1,Point p2){} public getDistance){}

public static getDistance(Point p1,Point p2) //方法重载

}

9. 设计一个类,包含静态数据成员,静态方法,常量。同时用一个方法对该类的各个成

员进行测试。

10.设计一个类,其中包含两个求最大值的重载方法:

int max(int x,int y)

double(double a,double b)

11. 设计一个类Triangle ,用于描述一个三角形,其数据成员有a,b,c分别表示她的三条边, 添加一个构造函数带三个参数构造函数。同时添加两个同名方法

void modify(int total),将参数total 分为三部分,使其恰好组成一个三角形,

boolean modify(int a,int b, int c) ,如果给出的三个参数不能组成三角形,则返回false, 和方法double getArea() 返回三角形面积 12. 阅读下列程序,并写出结果:

public class MyDate{ public int year,month,day; public MyDate(int year,int month,int day;){ }

}

this.year=year; this.month=month; this.day=day;

public void setYear(int y){ yaer=y; }

public void setMonth(int m){ month=n; }

public void setDay(int d){ }

day=d;

public class ChangeDate{

public static void changeDate_1(MyDate myDate){ myDate=new MyDate(1979,5,1); }

public static void changeDate_2(MyDate myDate){ }

public static void main(String[] args){ MyDate date=new MyDate(2001,9,11);

changeDate_1(date);

changeDate_2(date);

System.out.println(date.year+”-“+date.month+”-“+date.day); myDate.setMonth(10);

} }

11.常用的伪随机数算法如下:

Y0=1

Yk+1=(a*Yk+c) mod m Xk=Yk mod n

其中,a叫做乘数, c 叫做增数,m 叫做模数,mod 表示取模运算,所得到的序列Xk就叫做伪随机数序列。可以取 a=16807(即 7^5),m=2147483647(2^31-1), c=0.

使用该算法封装一个类,并提供两个重载的方法

next(int upper)产生一个[0--- upper]范围的随机数。

next(int int low,int upper)产生一个[low--- upper]范围的随机数。

4. 编写BankAccount类,要求如下:

4.1. 该类由此款人姓名(name :String ),存款余额(balance: double),存期(year:int)及年利

率(rate: double)四个数据成员,其中年利率的默认值为0.01.

4.2. 该类有两个重载的构造方法.其中一个构造方法不含参数,设置默认的存款为10元,存期一年;另一个沟造函数包含二个用于创建对象时设置存款额与存期的参数。 4.3. 该类有三个方法:存款(save),取款(fetch)及计算存期满后的总金额(calcTotal). 4.4. 创建一个账号fans,创建时即(利用构造函数)存入1000元,存期3年,后又存入2000元(利用save方法),计算存期满后的总金额(利用calcTotal方法)

5. 编写一个加密类,在其中实现对字符数组的加密和解密方法。加密原理是:

加密后的字符数组的第一个字符是原字符数组的最后一个自负,其余的每个字符是对应的原字符数组中的前一个字符的值加上3。比如:{?w?,?e?,?i?,?c?,?o?,?m?,?e?},末尾的字符为?e?, {?w?,?e?,?i?,?c?,?o?,?m?}依次加上3后成为{?z?,?h?,?o?,?f?,?r?,?p?},故加密后的结果为 {?e?,?z?,?h?,?o?,?f?,?r?,?p?}