1521133-朱海-实验报告2
上海建桥学院实验报告
课程名称: 面向对象程序设计 实验类型: 设计型
实验项目名称: 类的封装
实验地点: 实验日期: 2016年 4 月 17日
姓名: 朱海 学号:1521133班级: 网络中兴B15-1成绩:
一、 实验目的及要求
1 ?掌握包的创建。
掌握访问控制符的使用
二、 实验环境及要求
jdk1.5以上的开发环境,可使用任何编辑器。
三、 实验内容及步骤
实验一:
实现程序,有以下三个要求
设计正方形类Square ,将其生成在 myapp.graphics包中,成员变量访问权限设 计为私有,设计构造方法以及其他成员方法。
设计圆类Circle ,将其生成在 myapp.graphics包中,成员变量访问权限为 私有,至少提供一个改变圆半径的成员方法。
主函数实现功能,要求:
1) 正方形的边长的值来源于命令行
2) 圆的半径的值来自键盘数据。
3) 当输入的边长大于半径时,输出圆周长和
正方形面积的差值,反之输出圆面积和正方形 周长的差值(若输出的差值为负值,请将其转
化为正值)。
4)圆的半径和正方形的边长都更改为以前值
得两倍,输出圆的面积和正方形的周长。
源代码(排版工整)package myapp.graphics;
源代码(排版工整)
package myapp.graphics;
public class Square {
private double l ;
public
double s(){
return
getl()*getl();
}
public
double c(){
return 4*getl();
}
public double getl() {
return
l ;
}
public void setl( double
this
.l = l ;
}
}
package
myapp.graphics;
public
class Circle {
private
double r =0;
private
final double
l ) {
PI =3.14;
public double s(){
return PI *getr()*getr();
}
double c(){
return PI *2*getr();
public double getc() {
return PI *2*getr();
}
public double gets() { return PI *getr()*getr();
}
public double getr() {
return r ;
}
public void setr( double r) { this . r = r ;
}
}
package
myapp.graphics;
import
myapp.graphics.Square;
import
myapp.graphics.Circle;
import
java.util.Sca nner;
public
class Test {
public static void main( Stri ng[]args){
double c;
Square sq1= new Square();
Scanner sca n= new Scann er(System.i n);
double a=Double.parseDouble(args[O]);
sq1.setl(a);
Circle b= new Circle();
System.out.println( "请输入半径");
b.setr(sca n.n extDouble());
if (sq1.getl()>b.getr())
c=b.getc()_sq1.s();
else
c=b.s()_sq1.c();
if (c<0)
c=Math.abs(c);
System.out.pri nt(c);
double sdouble=4*b.gets();
double cdouble=2*sq1.c();
System.out.println( "周长为"+cdouble+ "面积为"+sdouble);
}
结果(截图):
i^l Trsfcjsvi 益 £\ C<clt jjiifei 0 Sqmire.^v*
paEkfUgpe rry app- B grcph lea J
-inipaTt H.yapp - ^TaFh 1 □ ■! - 5q^aa rej inrport na輩日pp -弓匸耳匸勺丄-s -亡工-c lej
- lint h.b ut il. .B匚 sjlzl鼻e;
j|
-piDDlla *FB?e <
pnbLi s static Tend zusun | String( | 6tcjs[
11 daulbly a
§(T:are SqiiireO-;
SQinnet scEiL-^eir S^ annsT ISysT*?. .. In) *
- do-nble a"Dd,mtile -.pB.rseDdixhl'- (crga [D] } j
二二 b($L ? se&X |a|;
ie cij£ci? t-iMiw cixcitt) J;
3-ipsc?RCiit..prlin.tln rWSftA 半丰¥評"
E> EtT 13sar ? TLeX3DD^ni€ [| ];
lt(3q|l.gitl^>b.dgEtr(})
e—fc- - g=tc (-a ql. S [),:
看丄?乜
c=bidi D-i^l^cO j
ir(C<0|l
c-MGtfZ raE3 |a|i;
S Systeri. net. prl ftt. FO :
2* >dQub丄芒 adsuble "4 a >^e ts | j<;
3" dsrubla Edaublt-i^aqliCC);
孟 3*r9 ttnu 曲匚 11-1 口讥耳 t ■固氐?1“ uOauWria ▼ “ 面积內 r s Jq utlc >;
-:£ “i "□仝归口
■?TS止a T*w parwo j£用矩J5) D:\mv-'yd^i.GuO ^^fcm^wr.eire ( 2Q‘ 逗4冃四曰上上7M和 5 ) 话信扎半毎
731,口周忻为酝0?。面弄!为坏W 4
实验二:
设计程序实现两个复数的相加操作。
设计一个复数类Complex,具体要求 私有成员变量:实部,虚部
方法:返回此复数的详细信息String
toString(),输出格式例如3+4i
实现 Complex add(Complex cplx) 方
System. out .println( complex . r +"+"
System. out .println( complex . r +"+" + complex . z + "i");
法,实现复数的相加
构造方法:有参构造方法初始化成员变量 主函数:产生两个复数,输出复数相加的结
果(新复数)
提示:
根据需要可自行添加成员方法
源代码(排版工整)
package fushu;
import java.util.Sca nner;
public class complex {
public
static
complex
c1
public
static
complex
c2
private
int
r =0;
private
int
z =0;
void getcomplex( int r , int z){
this . r =r;
this . z =z;
}
public static void main(String[] args ){
););System. out .println( "请输入第一个复数的实部和虚部
);
);
complex. c1 =new complex。;
Scanner scan =new Scanner(System. in );
int r1 =sca n .n ext In t();
int z1 =scan .nextInt();
System. out .println( "请输入第二个复数的实部和虚部
Scanner scan1 =new Scanner(System. in );
complex. c2 = new complex();
int r2 =sca n1 .n extI nt();
int z2 =sca n1 .n ext In t();
complex complex =new complex();
complex . r = r1 +r2 ;
complex . z = z1 +z2 ;
结果(截图):
■*_问蛮Z Javadoc应芦匪旦竝制弓茨
k已將止=complex [Java 应同程序]D;' ava\jdk1.B.0_74\bin\javaw.exe ( 201 琳4月 29曰上午了:1弓:56) 请输入第二个复数的实制和虚制 =
10
请输入第二个复数的卖制和虚部|
9
23+191
四、分析与讨论(实验过程中发现的重点与难点)
通过本次实验我掌握了包的创建并且基本掌握了访问控制符的使用,并且学了 一下复数的基本概念,以及掌握了有参构造方法初始化成员变量。
推荐访问:实验报告 实验 报告 朱海 1521133-朱海-实验报告2