1521133-朱海-实验报告2

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