java实验报告有理数的类封装.docx

上传人:b****5 文档编号:28831478 上传时间:2023-07-20 格式:DOCX 页数:8 大小:18.01KB
下载 相关 举报
java实验报告有理数的类封装.docx_第1页
第1页 / 共8页
java实验报告有理数的类封装.docx_第2页
第2页 / 共8页
java实验报告有理数的类封装.docx_第3页
第3页 / 共8页
java实验报告有理数的类封装.docx_第4页
第4页 / 共8页
java实验报告有理数的类封装.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

java实验报告有理数的类封装.docx

《java实验报告有理数的类封装.docx》由会员分享,可在线阅读,更多相关《java实验报告有理数的类封装.docx(8页珍藏版)》请在冰豆网上搜索。

java实验报告有理数的类封装.docx

java实验报告有理数的类封装

竭诚为您提供优质文档/双击可除

java实验报告有理数的类封装

  篇一:

JAVA实验报告

  学生实验报告

  学院:

用友软件学院

  课程名称:

Java程序设计

  专业班级:

软件工程b01班

  姓名:

尚丽娟

  学号:

0088234

  学生实验报告

(一)

  一、实验综述

  1、实验目的及要求

  实验目的:

  1.学习数据表示、运算符和表达式;

  2.认识Java的基本数据类型;

  3.养成良好的程序调试和编程风格。

  试验要求:

  编写程序,读入0到1000的一个整数并将其各位数字之和赋值给一个整数。

如,整数932各位数字之和为14。

  2、实验仪器、设备或软件

  1.个人计算机pc;

  2.eclipse编程环境。

  二、实验过程(实验步骤、记录、数据、分析)

  

(1)步骤一

  1.打开eclipse,点击文件,新建一个名为1的项目,在新建一个名为package的包,然后在新建一个名为exercise1的类。

然后在代码输入框输入代码

  packagepackage;

  importjavax.swing.Joptionpane;

  publicclassexercis1{

  /**

  *@paramargs

  */

  publicstaticvoidmain(string[]args){

  //ToDo自动生成方法存根

  stringnumberstring=Joptionpane.showInputDialog(null,

  "enteranumberbetween0and1000",

  "numberInput",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、实验结果

  能成功运行,没有错误,并且会看到输入框,并且在输入框中输入数字后,运行结果会在控制台中显示出正确的结果。

截图吐下

  2、分析讨论

  1.是实验中,用Java编译出这个程序,相比以前学习使用c++编译一个程序,JAVA更容易上手,更人性化。

  2.在实验过程中,如果代码出现语法等错误,代码下面会显红线,让我们清晰的了解到哪里出错。

  3.在实验过程中,一定要注意单词的首字母是否要大写,在类名每个单词的首字母都要大写,常量中的所有字母都要大写。

在实验中,常常因为这些命名会出现问题。

  4.在实验过程中,例如这个程序一定要明白它的逻辑再来输入代码,不然很容易出现逻辑错误。

  5.在实验中,Joptionpane.showInputDialog这个方法从输入对话框得到输入从控制台输出。

如果我们可以不用这个进行输入的话,我们可以直接用scanner里创建对象进行输入。

  6.在实验过程中我们还要注意到,输入对话框返回的输入是一个字符串,想要获得熟知必须把字符串转化为数字值,如果不这样做,我们得到的结果就是“923”是一个字符串。

所以我们一定要有一个方法使其转换为数字例如以下代码:

  intnumber=Integer.parseInt(numberstring)

  四、指导教师评语及成绩:

  评语:

  该实验步骤正确。

程序设计较合理,结果正确。

实验报告格式正确,文档规范,

  描述较清晰。

掌握了运用该知识的方法与技能,较好地完成了实验任务。

达到实验目的。

  成绩:

82  

指导教师签名:

毛澄映

  批阅日期:

20XX-3-15

  篇二:

青岛理工大学java实验二

  青岛理工大学java实验

  实验2:

类的封装性和继承性设计

  

(1)有理数四则运算。

  编写一个Java应用程序,实现两个有理数的四则运算,要求有理数用分子和分母的形式表示。

结果要求用“分子/分母”的形式表示。

  源代码:

  importjava.util.scanner;

  //定义一个分数类,方便单独使用分子分母

  classFenshu{

  }

  publicclassb{

  staticint[]fenzi=newint[2];staticint[]fenmu=newint[2];//以下方法通过返回一个Fenshu类型的对象,来获取分子和分母;//加法运算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=(a>b)?

b:

a;for(inti=1;i  }publicstaticvoidmain(string[]args){bys=newb();//通过scanner类来实现从键盘输入scannerscn=newscanner(system.in);system.out.println("输入分子1:

");ys.fenzi[0]=scn.nextInt();system.out.println("输入分母1:

");ys.fenmu[0]=scn.nextInt();system.out.println("输入分子2:

");ys.fenzi[1]=scn.nextInt();system.out.println("输入分母2:

");ys.fenmu[1]=scn.nextInt();intnum;//用来保存最大公约数Fenshufs1=ys.add(fenzi[0],fenmu[0],fenzi[1],fenmu[1]);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(fenzi[0],fenmu[0],fenzi[1],fenmu[1]);num=ys.yueshu(fs2.fz,fs2.fm);fs2.fz=fs2.fz/num;fs2.fm=fs2.fm/num;

  }

  system.out.println("减法结果为:

"+fs2.fz+"/"+fs2.fm);Fenshufs3=ys.mul(fenzi[0],fenmu[0],fenzi[1],fenmu[1]);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(fenzi[0],fenmu[0],fenzi[1],fenmu[1]);num=ys.yueshu(fs4.fz,fs4.fm);fs4.fz=fs4.fz/num;fs4.fm=fs4.fm/num;system.out.println("除法结果为:

"+fs4.fz+"/"+fs4.fm);

  

(2)表演最终得分。

  声明一个Average接口,其中约定求平均值的方法(参数为一个数组);声明First、second类实现Average接口,分别给出求平均值的方法实现。

  A.类First中的功能为全部数值相加后求平均值。

  b.类second中的功能为去掉一个最高分和一个最低分,再将总分求平均值。

  源代码:

  //声明一个父接口

  interfaceAverage

  {

  }

  //类First实现父接口

  classFirstimplementsAverage{

  }

  //类second实现父接口

  classsecondimplementsAverage{

  //减去一个最高分和一个最低分再求平均数publicdoubleavg(double[]arr){doubletmp=0.0;doublesum=0.0;//递增排序for(inti=0;iarr[i+1]){tmp=arr[i];arr[i]=arr[i+1];arr[i+1]=tmp;//求和直接求平均数publicdoubleavg(double[]arr){}doublesum=0.0;for(inti=0;i  篇三:

实验二:

Java面向对象机制

(1)

  实验二:

Java面向对象机制

(1)学院(系)名称:

  程序源代码及截图:

  第一题:

  importjava.util.scanner;

  publicclassRational{

  intnumerator;

  intdenominator;

  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;

  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;

  }

  Rationalmuti(Rationalr){

  intden_ji;

  intsum=0;

  Rationaltemp=newRational();

  den_ji=this.denominator*r.denominator;

  sum=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;}

  publicRationalsimplify(){//化简函数,将分子分母进行约分

  booleanflag=true;

  inti=2;

  while(flag==true){

  if(this.denominator%i==0

  this.numerator=this.numerator/i;

  i=2;

  }

  if(this.denominator  flag=false;

  i++;

  }

  returnthis;

  }

  publicstringprintout(){

  string

  str=this.numerator+"/"+this.denominator+"("+((float)this.numerator/(float)this.denominator)+")";

  returnstr;

  }

  publicstringprintout1(){

  stringstr=this.numerator+"/"+this.denominator;

  returnstr;

  }

  publicstaticvoidmain(string[]args){

  //ToDoAuto-generatedmethodstub

  intj=0;

  Rationalr_1=newRational();

  Rationalr_2=newRational();

  Rationalresult=newRational();

  charmeth=0;

  for(;;){

  scannerreader=newscanner(system.in);

  system.out.println("请输入第一个数的分子、分母:

");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(reader.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_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.否=====");

  

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 国外设计风格

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1