java类的定义实验_java实验类的实现

这个博客主要展示了Java中类的定义和使用,包括矩形类(包含面积和周长计算)、复数类(包含加减乘除运算)以及矩阵类(实现矩阵的初始化、相加和相减)。通过实例代码详细解释了类的构造函数、属性和方法的运用。
摘要由CSDN通过智能技术生成

1 //1.矩形类的定义及应用

2 packageclasswork_5;3

4 public classjuxing1 {5 private double a,b;//长,宽

6 private double x,y;//坐标

7 public juxing1(double a, double b, double x, doubley) {8 this.a =a;9 this.b =b;10 this.x =x;11 this.y =y;12 }13

14 publicjuxing1() {15 }16

17 public doublegetA() {18 returna;19 }20

21 public void setA(doublea) {22 this.a =a;23 }24

25 public doublegetB() {26 returnb;27 }28

29 public void setB(doubleb) {30 this.b =b;31 }32

33 public doublegetX() {34 returnx;35 }36

37 public void setX(doublex) {38 this.x =x;39 }40

41 public doublegetY() {42 returny;43 }44

45 public void setY(doubley) {46 this.y =y;47 }48

49 public double S(){//面积

50 return a*b;51 }52 public double C(){//周长

53 return 2*(a+b);54 }55 public voidprint(){56 System.out.println("矩形的坐标为"+"("+x+","+y+")");57 System.out.println("矩形的长为:"+a+"矩形的宽为:"+b);58 System.out.println("矩形的面积为:"+S());59 System.out.println("矩形的面积为:"+C());60 }61 public voidprint1(){62 System.out.println("矩形的坐标为"+"("+x+","+y+")");63 }64 }65

66 packageclasswork_5;67

68 public classjuxing1_test {69

70 public static voidmain(String[] args) {71 juxing1 a= new juxing1(10, 20, 0, 0);72 a.print();73 System.out.println("长度变为原来的二倍");74 a.setA(20);75 a.print();76 System.out.println("坐标变成(20,20)");77 a.setX(20);78 a.setY(20);79 a.print1();80 }81

82 }83 //整数运算

84 packageclasswork_5;85

86 importjava.util.Scanner;87

88 public classzsyunsuan {89 private inta,b;90

91 publiczsyunsuan() {92 Scanner in =newScanner(System.in);93 int a=in.nextInt();94 int b=in.nextInt();95 zsyunsuan(a, b);96 }97 public void zsyunsuan(int a, intb) {98 this.a =a;99 this.b =b;100 }101 public intadd(){102 return a+b;103 }104 public intsub(){105 return a-b;106 }107 public intmul(){108 return a*b;109 }110 public doublediv(){111 return (a*1.0/b);112 }113

114 }115 packageclasswork_5;116

117 public classzsyunsuan_test {118

119 public static voidmain(String[] args) {120 zsyunsuan a=newzsyunsuan();121 System.out.println("两数相加的结果为:"+a.add());122 System.out.println("两数相减的结果为:"+a.sub());123 System.out.println("两数相乘的结果为:"+a.mul());124 System.out.println("两数相除的结果为:"+a.div());125 }126

127 }128 //实数运算

129 packageclasswork_5;130

131 importjava.util.Scanner;132

133 public classssyunsuan {134 private doublea,b;135

136 publicssyunsuan() {137 Scanner in =newScanner(System.in);138 double a=in.nextDouble();139 double b=in.nextDouble();140 ssyunsuan(a, b);141 }142 public void ssyunsuan(double a, doubleb) {143 this.a =a;144 this.b =b;145 }146 public doubleadd(){147 return a+b;148 }149 public doublesub(){150 return a-b;151 }152 public doublemul(){153 return a*b;154 }155 public doublediv(){156 return (a*1.0/b);157 }158

159 }160

161 packageclasswork_5;162

163 public classssyunsuan_test {164

165 public static voidmain(String[] args) {166 ssyunsuan a=newssyunsuan();167 System.out.println("两数相加的结果为:"+a.add());168 System.out.println("两数相减的结果为:"+a.sub());169 System.out.println("两数相乘的结果为:"+a.mul());170 System.out.println("两数相除的结果为:"+a.div());171 }172

173 }174

175 //复数的运算

176 packagetest;177

178 importjava.util.Scanner;179

180 public class complex {//复数类

181 double real;//实部

182 double image;//虚部

183 complex(){184 Scanner in=newScanner(System.in);185 double real=in.nextDouble();186 double image=in.nextDouble();187 complex(real,image);188 }189 public complex(double real, double image) {//有参构造函数

190 this.real =real;191 this.image =image;192 }193 private void complex(double real, double image) {//给无参构造函数调用

194 this.real =real;195 this.image =image;196 }197 public doublegetReal() {198 returnreal;199 }200 public void setReal(doublereal) {201 this.real =real;202 }203 public doublegetImage() {204 returnimage;205 }206 public void setImage(doubleimage) {207 this.image =image;208 }209 //复数相加

210 complex add(complex a) {211 double real2=a.getReal();212 double image2=a.getImage();213 double newreal=real+real2;214 double newimage=image+image2;215 complex result=newcomplex(newreal, newimage);216 returnresult;217 }218 //复数相减

219 complex sub(complex a) {220 double real2=a.getReal();221 double image2=a.getImage();222 double newreal=real-real2;223 double newimage=image-image2;224 complex result=newcomplex(newreal, newimage);225 returnresult;226 }227 //复数相乘

228 complex mul(complex a) {229 double real2=a.getReal();230 double image2=a.getImage();231 double newreal=real*real2-image*image2;232 double newimage=image*real2 + real*image2;233 complex result=newcomplex(newreal, newimage);234 returnresult;235 }236 //复数相除

237 complex div(complex a) {238 double real2=a.getReal();239 double image2=a.getImage();240 double newreal=(real*real2+image*image2)/(real2*real2 + image2*image2);241 double newimage=(image*real2 - real*image2)/(real2*real2 + image2*image2);242 complex result=newcomplex(newreal, newimage);243 returnresult;244 }245 //输出

246 public voidprint(){247 if(image > 0){248 System.out.println(real + " + " + image + "i");249 }else if(image < 0){250 System.out.println(real + "" + image + "i");251 }else{252 System.out.println(real);253 }254 }255 }256 packagetest;257

258 public classcomplextest {259

260 public static voidmain(String[] args) {261 System.out.println("请输入第一个复数的实部和虚部:");262 complex a1=newcomplex();263

264 System.out.println("请输入第二个复数的实部和虚部:");265 complex a2=newcomplex();266

267 complex add=a1.add(a2);268 complex sub=a1.sub(a2);269 complex mul=a1.mul(a2);270 complex div=a1.div(a2);271

272 //输出

273 System.out.println("相加的结果为:");274 add.print();275 System.out.println("相减结果为:");276 sub.print();277 System.out.println("相乘的结果为:");278 mul.print();279 System.out.println("相除的结果为:");280 div.print();281 }282

283 }284 //矩阵的运算

285 packageclasswork_5;286

287 importjava.util.Scanner;288

289 public classjzyunsuan {290 private intr,c;291 private int[][] a;292 private int[][] x;293 private int[][] b;294

295 public jzyunsuan(int r, intc) {296 this.r =r;297 this.c =c;298 this.a=new int[r][c];299 this.b=new int[r][c];300 this.x=new int[r][c];301 }302 publicjzyunsuan() {303

304 }305

306 //初始化矩阵

307 public voidinit(){308 for(int i=0;i

317 public voidadd(){318 for(int i=0;i

358 public classjzyunsuan_test {359

360 public static voidmain(String[] args) {361 jzyunsuan a=new jzyunsuan(3,3);362 a.init();363 System.out.println("初始化矩阵a为");364 a.print1();365 System.out.println("初始化矩阵b为");366 a.print2();367 System.out.println("矩阵相加的结果为:");368 a.add();369 a.print();370 System.out.println("矩阵相减的结果为:");371 a.sub();372 a.print();373

374 }375

376 }377 //圆的定义和描述

378 packagetest;379

380 public classcircle {381 private doubler;382

383 public circle(doubler) {384 this.r =r;385 }386 public doubleC(){387 return 2*r*Math.PI;388 }389 public doubleS(){390 return Math.PI*r*r;391 }392 public voidoutput(){393 System.out.println("圆的的半径为"+r+"\n"+"圆的周长为:"+C()+"\n"+"圆的面积为:"+S());394 }395

396 }397 packagetest;398

399 public classtestcircle {400

401 public static voidmain(String[] args) {402 circle circle=new circle(4);403 circle.output();404

405 }406

407 }408 //三角形的定义与描述

409 packagetest;410

411 public classsjx {412 private doublea,b,c;413

414 public sjx(double a, double b, doublec) {415 this.a =a;416 this.b =b;417 this.c =c;418 }419

420 public doubleC(){421 return a+b+c;422 }423 public doubleS(){424 double p=C()*0.5;425 double s=Math.sqrt(p*(p-a)*(p-b)*(p-c));426 returns;427 }428 public voidprint(){429 System.out.println(a+" "+b+" "+c+" ");430 }431 }432 packagetest;433

434 public classtestsjx {435

436 public static voidmain(String[] args) {437 sjx sjx=new sjx(3,4,5);438 System.out.println("三角形的三边分别为");439 sjx.print();440 System.out.println("三角形的周长为:"+sjx.C());441 System.out.println("三角形的面积为:"+sjx.S());442 }443

444 }445 //圆柱的定义和描述

446 packagetest;447

448 public classyz {449 private doubler,h;450

451 public yz(double r, doubleh) {452 this.r =r;453 this.h =h;454 }455 public doubleDC(){456 return 2*r*Math.PI;457 }458 public doubleDS(){459 return Math.PI*r*r;460 }461 public double BS(){//圆柱的表面积

462 return 2*DS()+DC()*h;463 }464 public double V(){//圆柱的体积

465 return DS()*h;466 }467 public voidoutput(){468 System.out.println("圆柱的的半径为"+r+"\n"+"圆柱的高为"+h+"\n"+"圆柱的表面积为:"+BS()+"\n"+"圆柱的体积为:"+V());469 }470 }471 packagetest;472

473 public classtestyz {474

475 public static voidmain(String[] args) {476 yz yz=new yz(3,4);477

478 yz.output();479 }480

481 }482 //定义一个正立方体求其表面积和体积

483 packageclasswork_5;484

485 public classlft {486 private doublea,b,h;487

488 public lft(double a, double b, doubleh) {489 this.a =a;490 this.b =b;491 this.h =h;492 }493 public doubleV(){494 return a*b*h;495 }496 public doubleS(){497 return a*b*6;498 }499 public voidprint(){500 System.out.println("正立方体的表面积为:"+S()+"正方体的体积为:"+V());501 }502 }503 packageclasswork_5;504

505 public classlft_test {506

507 public static voidmain(String[] args) {508 lft a=new lft(1, 2, 3);509 a.print();510 }511

512 }513

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值