System.out.print(""+dataCopy[j]);}}}
2、
packagea1;
importjava.io.*;
importjava.util.Scanner;
publicclassa2{
publicstaticvoidmain(String[]args)throwsIOException{
doublea[][];intsum=0;
a=newdouble[3][3];
Scannersr=newScanner(System.in);
System.out.println("请按行优先输入一个3*3的矩阵:
");
for(inti=0;i<3;i++)
for(intj=0;j<3;j++){
a[i][j]=sr.nextDouble();
}
sr.close();
System.out.print("你输入的3*3的矩阵是:
");
for(inti=0;i<3;i++){
System.out.println();
for(intj=0;j<3;j++){
System.out.print(""+a[i][j]+"\t");
if(i==j)
sum+=a[i][j];}}
System.out.println();
System.out.println("对角线元素之和为"+sum);}}
3、
packagea1;
importjava.util.*;
publicclassa3{
publicstaticvoidmain(String[]args){
System.out.println("请输入英语单词并用空格隔开:
");
Scannersr=newScanner(System.in);
Stringword=newString();
word=sr.nextLine();
String[]words=word.split("");
intnum=words.length;
System.out.println("字符串的单词数为"+num);
sr.close();}}
五、实验结果
1.
.
2.
3.
六、实验心得
通过本次实验掌握数组的声明、分配空间及初始化;理解多维数组(重点掌 握二维) ;掌握 String 类的特点及常用方法的使用;掌握 StringBuffer 类的特 点及常用方法的使用;掌握 String 类和 StringBuffer 类的区别;掌握 equal 方法与==的区别;但是本次练习中,我也出现了一些错误,是由于知识上的失误 和不小心犯下的低级错误,但是我努力改正。
实验三Java面向对象程序设计
一、实验目的和要求
掌握Java面向对象程序设计中类、继承、包和接口的概念与应用,能熟练应用方法、类、成员变量等元素。
二、实验内容
1.创建一个复数类complex,以附属进行数学运算、复数具有如下格式:
RealPart+ImaginaryRart*I,其中,I为-1的平方根。
要求如下:
① 利用浮点变量表示此类的私有数据。
提供两个构造方法,一个用于此类声明的对象的初始化;一个为默认的无参构造方法。
② 提供两复数加、减、乘的运算方法。
③ 按格式(a,b)打印复数。
其中a为实部,b为虚部。
2.创建银行账号Account类,实现存款(balance)的存(deposit)、取(withdraw)和查询(getbalance)等功能。
3.编程定义一个接口,实现三个数中求最小值和最大值的方法,并将程序存放在mymaths包中。
4.编程实现以下简单超市管理,具体要求如下:
① 实现描述超市的类Suppermacket类,具有货架属性,记录系统中现有商品,定义盘点商品的函数check(盘点各类商品的数量,并输出盘点结果),查询商品的函数query,并显示查询结果;
② 定义商品类Goods,具有商品名称Name,商品价格Price,商品产地Producer等属性,操作Sale(销售商品,余额不足时给予提示)、Add(商品上架操作)和ShowMe(显示商品信息)。
③ main函数,测试以上所要求的各种功能,即可以根据菜单命令增加、删除、查询商品、盘点商品,以及商品销售和商品上架的操作
提示:
①超市货架可以使用商品数组,数组大小100表明存放100个商品。
②注意实现商品查询的多态性,要求可以根据商品的名称或产地或价格查询商品的数量。
三、主要仪器设备
使用的计算机惠普:
硬件配置Win7、软件环境eclipse
四、实验代码
1.packagea1;
publicclassComplex{
floatRealPart;
floatImaginaryRart;
publicComplex(){}
publicComplex(floatR,floatI){
RealPart=R;
ImaginaryRart=I;
}
publicstaticComplexadd(Complexa,Complexb){
Complexc=newComplex();
c.RealPart=a.RealPart+b.RealPart;
c.ImaginaryRart=a.ImaginaryRart+b.ImaginaryRart;
returnc;
}
publicComplexminus(Complexa,Complexb){
Complexc=newComplex();
c.RealPart=a.RealPart-b.RealPart;
c.ImaginaryRart=a.ImaginaryRart-b.ImaginaryRart;
returnc;
}
publicComplexmultiply(Complexa,Complexb){
Complexc=newComplex();
c.RealPart=a.RealPart*b.RealPart-a.ImaginaryRart*b.ImaginaryRart;
c.ImaginaryRart=a.RealPart*b.ImaginaryRart+a.ImaginaryRart*b.RealPart;;
returnc;
}
publicvoidprint(){
System.out.println("("+this.RealPart+","+this.ImaginaryRart+")");
}
publicstaticvoidmain(String[]args){
Complexa=newComplex(1f,3f);
Complexb=newComplex(3f,4f);
Complexc=newComplex();
c=add(a,b);
c.print();
}}
2.packageshiyan;
importjava.util.*;
classAccount{
privatedoublebalance;
Account(){
balance=5000;
}
publicvoiddeposit(doublen){
balance=balance+n;
System.out.println("存款成功!
");
}
publicvoidwithdraw(doublen){
balance=balance-n;
System.out.println("取款成功!
");
}
publicvoidgetbalance(){
System.out.println("当前账户余额为"+balance);
}
publicstaticvoidmain(String[]args){
Accountc=newAccount();
c.getbalance();
System.out.println("请输入存款金额:
");
Scannersc=newScanner(System.in);
doublei=sc.nextDouble();
c.deposit(i);
c.getbalance();
System.out.println("请输入取款金额:
");
doublex=sc.nextDouble();
c.withdraw(x);c.getbalance();
sc.close();
}
}
3.
packagemymaths;
publicinterfaceMyinterface{
intmax(inta,intb,intc);
intmin(inta,intb,intc);
}
classZzrimplementsMyinterface{
publicintmax(inta,intb,intc){inttemp;
if(a
temp=b;
elsetemp=a;
if(temp>c)returntemp;
elsereturnc;}
publicintmin(inta,intb,intc){
inttemp;
if(a
temp=a;
elsetemp=b;
if(temp>c)returnc;
elsereturntemp;
}}
packagemymaths;
publicclassinterfaceTest{
publicstaticvoidmain(String[]args){
intx,y;
Zzrc=newZzr();
x=c.min(3,5,8);
y=c.max(6,8,9);
System.out.println("最小值为"+x+",最大值为"+y);
}}
4.packagea1;
classBase{
publicstaticGoods[]All=newGoods[2];//?
publicStringname;
publicdoubleprice;
publicStringproducer;
publicintid,num;
publicvoidshowMe(){
System.out.println("**************"+name+"*************");
System.out.println("商品名称:
"+name);
System.out.println("商品编号:
"+id);
System.out.println("商品价格:
"+price);
System.out.println("生产地"+producer);
System.out.println("数量"+num);
System.out.println("**************"+"end"+"*************");
}
publicvoidshowNum(){
System.out.println("************showNum***********");
System.out.println("商品名称:
"+name);
System.out.println("商品id"+id);
System.out.println("数量:
"+num);}}
classGoodsextendsBase{
publicvoidsale(intn,doublepay)throwsExc{
if(n>this.num){
thrownewExc();
}
System.out.println("商品名称"+name);
System.out.println("商品价格:
"+n+"*"+price+"="+n*price);
System.out.println("您缴费"+pay);
doublemoney=pay-n*price;
if(money<0){
System.out.println("余额不足,您还需要缴费"+(-money));
}
else{
System.out.println("购买成功");
System.out.println("找您"+money);
this.num-=n;}}
publicvoidadd(Stringname,intid,doubleprice,Stringproducer,intnum){
this.name=name;
this.price=price;
this.producer=producer;
this.id=id;
this.num+=num;
System.out.println("商品上架成功,以下为该商品的基本信息:
");
this.showMe();
All[id]=this;}}
publicclassSupermarketextendsBase{
publicvoidquery(intid){
All[id].showMe();//why?
}
publicvoidquery(Stringname){
for(Goodsg:
All){
if(g.name==name){
g.showMe();}}}
publicvoidcheak(){
for(Goodsg:
All){
g.showNum();}}
publicstaticvoidmain(String[]args){
//TODOAuto-generatedmethodstub
Goodssofa=newGoods();
sofa.add("sofa",0,1000,"太原