发布时间 : 星期日 文章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?}