1、java实验报告有理数的类封装竭诚为您提供优质文档/双击可除java实验报告有理数的类封装篇一:JAVA实验报告学生实验报告学院:用友软件学院课程名称:Java程序设计专业班级:软件工程b01班姓名:尚丽娟学号:0088234学生实验报告(一)一、实验综述1、实验目的及要求实验目的:1.学习数据表示、运算符和表达式;2.认识Java的基本数据类型;3.养成良好的程序调试和编程风格。试验要求:编写程序,读入0到1000的一个整数并将其各位数字之和赋值给一个整数。如,整数932各位数字之和为14。2、实验仪器、设备或软件1.个人计算机pc;2.eclipse编程环境。二、实验过程(实验步骤、记录、
2、数据、分析)(1)步骤一1.打开eclipse,点击文件,新建一个名为1的项目,在新建一个名为package的包,然后在新建一个名为exercise1的类。然后在代码输入框输入代码packagepackage;importjavax.swing.Joptionpane;publicclassexercis1/*paramargs*/publicstaticvoidmain(stringargs)/ToDo自动生成方法存根stringnumberstring=Joptionpane.showInputDialog(null,enteranumberbetween0and1000,numberIn
3、put,Joptionpane.QuesTIon_messAge);intnumber=Integer.parseInt(numberstring);intfirstnumber=number/100;intsecondnumber=number/10%10;intthirdnumber=number%10;intsum=firstnumber+secondnumber+thirdnumber;system.out.println(Thesumis+sum);system.exit(0);(2)步骤二点击运行,会出现以下输入框,我们输入923.在控制台得到的结果如下:三、结论1、实验结果能成功
4、运行,没有错误,并且会看到输入框,并且在输入框中输入数字后,运行结果会在控制台中显示出正确的结果。截图吐下2、分析讨论1.是实验中,用Java编译出这个程序,相比以前学习使用c+编译一个程序,JAVA更容易上手,更人性化。2.在实验过程中,如果代码出现语法等错误,代码下面会显红线,让我们清晰的了解到哪里出错。3.在实验过程中,一定要注意单词的首字母是否要大写,在类名每个单词的首字母都要大写,常量中的所有字母都要大写。在实验中,常常因为这些命名会出现问题。4.在实验过程中,例如这个程序一定要明白它的逻辑再来输入代码,不然很容易出现逻辑错误。5.在实验中,Joptionpane.showInput
5、Dialog这个方法从输入对话框得到输入从控制台输出。如果我们可以不用这个进行输入的话,我们可以直接用scanner里创建对象进行输入。6.在实验过程中我们还要注意到,输入对话框返回的输入是一个字符串,想要获得熟知必须把字符串转化为数字值,如果不这样做,我们得到的结果就是“923”是一个字符串。所以我们一定要有一个方法使其转换为数字例如以下代码:intnumber=Integer.parseInt(numberstring)四、指导教师评语及成绩:评语:该实验步骤正确。程序设计较合理,结果正确。实验报告格式正确,文档规范,描述较清晰。掌握了运用该知识的方法与技能,较好地完成了实验任务。达到实验
6、目的。成绩:82指导教师签名:毛澄映批阅日期:20XX-3-15篇二:青岛理工大学java实验二青岛理工大学java实验实验2:类的封装性和继承性设计(1)有理数四则运算。编写一个Java应用程序,实现两个有理数的四则运算,要求有理数用分子和分母的形式表示。结果要求用“分子/分母”的形式表示。源代码:importjava.util.scanner;/定义一个分数类,方便单独使用分子分母classFenshupublicclassbstaticintfenzi=newint2;staticintfenmu=newint2;/以下方法通过返回一个Fenshu类型的对象,来获取分子和分母;/加法运算
7、Fenshuadd(inta,intc,intb,intd)/减法运算Fenshudec(inta,intc,intb,intd)Fenshufs=newFenshu();fs.fz=a*d+b*c;fs.fm=c*d;returnfs;intfz;intfm;fs.fz=a*d-b*c;fs.fm=c*d;returnfs;/乘法运算Fenshumul(inta,intc,intb,intd)/除法运算Fenshudiv(inta,intc,intb,intd)/求最大公约数intyueshu(inta,intb)intnum=1;intmin=(ab)?b:a;for(inti=1;ipu
8、blicstaticvoidmain(stringargs)bys=newb();/通过scanner类来实现从键盘输入scannerscn=newscanner(system.in);system.out.println(输入分子1:);ys.fenzi0=scn.nextInt();system.out.println(输入分母1:);ys.fenmu0=scn.nextInt();system.out.println(输入分子2:);ys.fenzi1=scn.nextInt();system.out.println(输入分母2:);ys.fenmu1=scn.nextInt();int
9、num;/用来保存最大公约数Fenshufs1=ys.add(fenzi0,fenmu0,fenzi1,fenmu1);num=ys.yueshu(fs1.fz,fs1.fm);fs1.fz=fs1.fz/num;fs1.fm=fs1.fm/num;system.out.println(加法结果为:+fs1.fz+/+fs1.fm);Fenshufs2=ys.dec(fenzi0,fenmu0,fenzi1,fenmu1);num=ys.yueshu(fs2.fz,fs2.fm);fs2.fz=fs2.fz/num;fs2.fm=fs2.fm/num;system.out.println(减法
10、结果为:+fs2.fz+/+fs2.fm);Fenshufs3=ys.mul(fenzi0,fenmu0,fenzi1,fenmu1);num=ys.yueshu(fs3.fz,fs3.fm);fs3.fz=fs3.fz/num;fs3.fm=fs3.fm/num;system.out.println(乘法结果为:+fs3.fz+/+fs3.fm);Fenshufs4=ys.div(fenzi0,fenmu0,fenzi1,fenmu1);num=ys.yueshu(fs4.fz,fs4.fm);fs4.fz=fs4.fz/num;fs4.fm=fs4.fm/num;system.out.pr
11、intln(除法结果为:+fs4.fz+/+fs4.fm);(2)表演最终得分。声明一个Average接口,其中约定求平均值的方法(参数为一个数组);声明First、second类实现Average接口,分别给出求平均值的方法实现。A类First中的功能为全部数值相加后求平均值。b类second中的功能为去掉一个最高分和一个最低分,再将总分求平均值。源代码:/声明一个父接口interfaceAverage/类First实现父接口classFirstimplementsAverage/类second实现父接口classsecondimplementsAverage/减去一个最高分和一个最低分再求
12、平均数publicdoubleavg(doublearr)doubletmp=0.0;doublesum=0.0;/递增排序for(inti=0;iarri+1)tmp=arri;arri=arri+1;arri+1=tmp;/求和直接求平均数publicdoubleavg(doublearr)doublesum=0.0;for(inti=0;i篇三:实验二:Java面向对象机制(1)实验二:Java面向对象机制(1)学院(系)名称:程序源代码及截图:第一题:importjava.util.scanner;publicclassRationalintnumerator;intdenominat
13、or;Rationaladd(Rationalr)intsum=0;intden_ji;/分母相乘后的积再作为分母Rationaltemp=newRational();den_ji=this.denominator*r.denominator;sum=this.numerator*r.denominator+this.denominator*r.numerator;temp.numerator=sum;temp.denominator=den_ji;temp.simplify();returntemp;Rationalsub(Rationalr)intden_ji;intsum=0;Ratio
14、naltemp=newRational();den_ji=this.denominator*r.denominator;sum=this.numerator*r.denominator-this.denominator*r.numerator;temp.numerator=sum;temp.denominator=den_ji;temp.simplify();returntemp;Rationalmuti(Rationalr)intden_ji;intsum=0;Rationaltemp=newRational();den_ji=this.denominator*r.denominator;s
15、um=this.numerator*r.numerator;temp.numerator=sum;temp.denominator=den_ji;temp.simplify();returntemp;Rationaldiv(Rationalr)intden_ji;intsum=0;Rationaltemp=newRational();den_ji=this.denominator*r.numerator;sum=this.numerator*r.denominator;temp.numerator=sum;temp.simplify();returntemp;publicRationalsim
16、plify()/化简函数,将分子分母进行约分booleanflag=true;inti=2;while(flag=true)if(this.denominator%i=0this.numerator=this.numerator/i;i=2;if(this.denominatorflag=false;i+;returnthis;publicstringprintout()stringstr=this.numerator+/+this.denominator+(+(float)this.numerator/(float)this.denominator)+);returnstr;publicst
17、ringprintout1()stringstr=this.numerator+/+this.denominator;returnstr;publicstaticvoidmain(stringargs)/ToDoAuto-generatedmethodstubintj=0;Rationalr_1=newRational();Rationalr_2=newRational();Rationalresult=newRational();charmeth=0;for(;)scannerreader=newscanner(system.in);system.out.println(请输入第一个数的分子
18、、分母:);if(reader.hasnextInt()r_1.numerator=reader.nextInt();if(reader.hasnextInt()system.out.println(第一个分数有理数为+r_1.printout1();system.out.println(直接输入要进行的运算符:+,-,*,/);if(reader.hasnext()stringtemp=reader.next();meth=temp.charAt(0);system.out.println(请输入第二个数的分子、分母:);reader=newscanner(system.in);if(rea
19、der.hasnextInt()r_2.numerator=reader.nextInt();if(reader.hasnextInt()r_2.denominator=reader.nextInt();system.out.println(第二个分数有理数为+r_2.printout1();system.out.println(-);switch(meth)case+:result=r_1.add(r_2);system.out.print(加法运算+r_1.printout()+r_2.printout()+=+result.printout();break;case-:result=r_
20、1.sub(r_2);system.out.print(减法运算+r_1.printout()+-+r_2.printout()+=+result.printout();break;case*:result=r_1.muti(r_2);system.out.print(乘法运算+r_1.printout()+*+r_2.printout()+=+result.printout();break;case/:result=r_1.div(r_2);system.out.print(除法运算+r_1.printout()+r_2.printout()+=+result.printout();break;default:break;system.out.println();system.out.println(=是否继续运算,1.是2.否=);
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1