JAVA复习1
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4 编写一个完整的 Java 程序,包括 User 和 TestUser 两个类。 (1)User 类必须满足如下要求: ①User 类的变量有: userName : String 型 password : 私有,String 型 userNumber: 静态,int 型,表示用户数量,初始化为 0 ②User 类的方法有: User( ) : 构造方法,userNumber 加 1,用户名初始化为“unknown*”(*表 示 userNumber),密码初始化为“123456” User(String userName) : 构造方法,userNumber 加 1,用参数初始化用户 名,密码初始化为“123456” User(String userName,String password) : 构造方法,userNumber 加 1, 分别用参数初始化用户名和密码 void setPassword(String oldPassword,String newPassword):设置密码, 当 oldPassword 和密码相同时,把密码修改为 newPassword,并显示"Password set success",否则显示"Password set not success" public String toString( ) : 返回一个字符串,型为 “UserName:***,Password###” (2)TestUser 类 在 TestUser 类的 main 函数中,完成如下工作。 1)创建一个 User 类 2)将用户信息打印出来(调用 toString 方法) 3)从键盘得到两个字符串,新密码和旧密码,用来修改密码 4)将修改后的用户信息打印出来(调用 toString 方法) 程序: import java.io.*; class User{ String userName ; private String password ; static int userNumber=0; User(){ userNumber++; userName="unknown*"; password="123456"; } User(String userName){ userNumber++; this.userName=userName; password="123456"; }
} 实验结果:
}
提示:从键盘输入字符串。 import java.io.*;
String s=""; try{ BufferedReader br= new BufferedReader(new InputStreamReader(System.in)); s=br.readLine(); }catch(IOException e){ }
}
if(password.endsWith(oldPassword)){ password=newPassword; System.out.println("Password set success"); }else System.out.println("Password set not success");
1
编写一个完整的 Java 程序,包括 Complex 和 TestComplex 两个类。 使用复数类 Complex 验证两个复数 1+2i 和 3+4i 相加产生一个新的复数 4+6i 。 (1)复数类 Complex 必须满足如下要求: ①复数类 Complex 的变量有: realPart : 私有,int 型,代表复数的实数部分 imaginPart : 私有,int 型,代表复数的虚数部分 ②复数类 Complex 的方法有: Complex( ) : 构造函数,将复数的实部和虚部都置 0 Complex( int r , int i ) : 构造函数,用参数 r 设置实部的初值,用 参数 i 设置虚部的初值。 void setRealPart(int r):设置实数部分 void setImaginPart(int i):设置虚数部分 int getRealPart ( ):返回实数部分 int getImaginPart ( ) :返回虚数部分 Complex complexAdd(Complex a) : 将当前复数对象与参数中的复数对象 a 相加,所得的结果仍是一个复数值,返回给此方法的调用者。 public String toString( ) : 把当前复数对象的实部、虚部组合成 a+bi 的字符串形式输出,其中 a 和 b 分别为实部和虚部的数据。 (2)TestComplex 类 在 TestComplex 的 main 函数中,完成如下工作。 1)创建两个复数对象,分别表示 1+2i 和 3+4i 2)得到一个新的复数对象,为上面两个复数对象的和。调用 toString 函数 并打印加法表达式,例如 (1+2i)+(3+4i)=(4+6i)。 3) 将第一个复数对象的实部和虚部分别改为 2 和 3,将第二个复数对象的实 部和虚部分别设为原来的 2 倍。 得到一个新的复数对象,为上面两个复数对象的 和,调用 toString 函数打印加法表达式。 程序: import java.io.*; class Complex{ private int realPart; private int imaginPart; Complex(){ this.realPart = 0; this.imaginPart = 0; } Complex(int r, int i){ this.realPart = r; this.imaginPart = i; } public void setRealPart(int r){ this.realPart = r; }
User(String userName,String password){ userNumber++; this.userName=userName; this.password=password; } void setPassword(String oldPassword,String newPassword){
}
public String toString( ){ return "UserName:"+userName+" }
Password:"+passwoຫໍສະໝຸດ Baidud;
class TestUser { public static void main(String[] args) { User u=new User("cris","ellen"); System.out.println(u.toString()); String s1=""; String s2=""; try{ BufferedReader br= new BufferedReader(new InputStreamReader(System.in)); System.out.println("input the old password:"); s1=br.readLine(); System.out.println("input the new password:"); s2=br.readLine(); }catch(IOException e){ } u.setPassword(s1, s2); System.out.println(u.toString());
area= perimeter = 3) 判断点(18.5,17.2)是否在圆形内,并打印输出相关信息。 如果(18.5,17.2) 在圆形内,输出: point (18.5,17.2) is in the Circle(r:10.0,x:10.0,y:10.0) 否则,输出: point (18.5,17.2) isn’t in the Circle(r:10.0,x:10.0,y:10.0) 4) 将圆放大到原来的 1.5 倍后, 判断点(18.5, 17.2)是否在圆形内, 并打印输出相关信息。 import java.io.*; class Circle{ protected double radius; public double PI=3.1415926; Circle(double radius){ radius=radius; } Circle(){ radius=0.0; } void setRadius(int r){ radius=r; } double getRadius(){ return radius; } double area(){ return PI*radius*radius; } double perimeter(){ return 2*PI*radius; } void resize(double n){ radius=getRadius()*n; } public String toString(){ return "Circle(r:"+getRadius()+")"; } } class PlainCircle extends Circle{ double x,y; void resize(double n){ radius=getRadius()*n; } PlainCircle (double radius, double x, double y){
(2)通过继承 Circle 类编写一个具有确定位置的圆类 PlainCircle,其确定位 置用圆形的圆心坐标来标识,包含: ①属性: 1) x:double 型,圆心 x 轴坐标; 2) y:double 型,圆心 y 轴坐标。 ②方法: 1) PlainCircle (double radius, double x, double y), 构造函 数 2) PlainCircle (),不带参数的构造方法,将圆形初始化为坐标、 半径都为 0 的圆形; 3) boolean isInside(double x,double y),判断某个点是否在圆 形内部的方法。如在圆形内,返回 true, 否则,返回 false。 提示:点在圆形类是指满足条件: 2 2 2 (点的 x 轴坐标-圆心 x 轴坐标) +(点的 y 轴坐标-圆心 y 轴坐标) <=圆的半径 4) public String toString( ), 将把当前圆对象的转换成字符串 形 式 , 例 如 圆 半 径 为 10.0 , 圆 心 坐 标 为 (5.0,8.0) , 返 回 字 符 串 Circle(r:10.0,x:5.0,y:8.0)。 (3)编写 CircleTest 类 1) 创建一个圆心为(10.0,10.0) ,半径为 10.0 的圆形对象; 2) 计算机并打印输出圆形的面积和周长,输出 2 行:
public void setImaginPart(int i){ this.imaginPart = i; } public int getRealPart(){ return this.realPart; } public int getImaginPart(){ return this.imaginPart; } Complex complexAdd(Complex a){ int realPart = this.realPart + a.getRealPart(); int imaginPart = this.imaginPart + a.getImaginPart(); return new Complex(realPart, imaginPart); } public String toString(){ if(this.imaginPart == 0) return "" + this.realPart; else if(this.imaginPart > 0) return "" + this.realPart + "+" + this.imaginPart + "i"; else return "" + this.realPart + this.imaginPart + "i"; } } class TestComplex{ public static void main(String[] args){ Complex a = new Complex(1,2); Complex b = new Complex(3,4); Complex sum = a.complexAdd(b); System.out.println("(" + a + ")" + "+" + "(" + b + ")" + "=" + "(" + sum + ")"); a.setRealPart(2); a.setImaginPart(3); b.setRealPart(b.getRealPart() * 2); b.setImaginPart(b.getImaginPart() *2); sum = a.complexAdd(b); System.out.println("(" + a + ")" + "+" + "(" + b + ")" + "=" + "(" + sum + ")"); } }