if(s.charAt(i)==''){
num++;
}
}
System.out.println("该字符串有"+num+"个单词");
}
}
运行结果:
3.讨论、心得
通过实验,掌握Java语言中数组、字符串程序设计的基本方法,较熟练地掌握Java程序数组的应用、字符串处理操作的方法应用,学到了很多知识,加深了对书本上知识的理解。
实验3Java面向对象程序设计
1.实验目的
掌握Java面向对象程序设计中类、继承、包和接口的概念与应用,能熟练应用方法、类、成员变量等元素。
2.实验内容
(1)创建一个复数类complex,以复数进行数学运算、复数具有如下格式:
RealPart+ImaginaryPart*I,其中,I为-1的平方根。
要求如下:
1 利用浮点变量表示此类的私有数据。
提供两个构造方法,一个用于此类声明的对象的初始化;一个为默认的无参构造方法。
2 提供两复数加、减、乘的运算方法。
3 按格式(a,b)打印复数。
其中a为实部,b为虚部。
packageshiyan3;
importjava.util.Scanner;
publicclassquestion1{
publicstaticvoidmain(String[]args){
Complexa=newComplex(3,5);
Complexb=newComplex(7,2);
System.out.println(a.toString()+"和"+b.toString()+"相加的结果为"+plexAdd(b).toString());
System.out.println(a.toString()+"差"+b.toString()+"相减的结果为"+plexJian(b).toString());
}
}
classComplex{
intrealPart;
intimaginPart;
publicComplex(){
realPart=0;
imaginPart=0;}
publicComplex(intr,inti){
realPart=r;
imaginPart=i;}
publicComplexcomplexAdd(Complexb){
returnnewComplex(realPart+b.realPart,imaginPart+b.imaginPart);}
publicComplexcomplexJian(Complexb){
ReturnnewComplex(realPart-b.realPart,imaginPart-b.imaginPart);}
publicStringtoString(){
Stringsr="("+realPart+","+imaginPart+")";
returnsr;}
}
结果:
(2)创建银行账号Account类,实现存款(balance)的存(deposit)、取(withdraw)和查询(getbalance)等功能。
2.packageshiyan3;
importjava.util.Scanner;
publicclassquestion2{
publicstaticvoidmain(String[]args){
doublebalance=0;
doubledeposit=0;
doublewithdraw=0;
for(;;){
System.out.println("请输入数字:
\t1.存钱\t2.取钱\t3.查询余额\n");
Scannerinput=newScanner(System.in);
Stringnum=input.next();
doubles1=0,s2=0;
if(num.equals("1")){
System.out.println("输入存入金额:
");
deposit=input.nextDouble();
System.out.println("存钱数目为:
"+deposit);
s1+=deposit;
}
if(num.equals("2")){
System.out.println("输入取钱金额:
");
withdraw=input.nextDouble();
System.out.println("取走金额为:
"+withdraw);
s2+=withdraw;
}
if(true|num.equals("3")){
balance+=s1-s2;
System.out.println("账户余额为:
"+balance);
}
}
}
}
结果:
(3)编程定义一个接口,实现三个数中求最小值和最大值的方法,并将程序存放在mymaths包中。
3.packageshiyan3;
publicclassquestion3{
publicIntegermaxNum(inta,intb){
if(a>b){
returna;
}else{
returnb;
}
}
publicIntegerminNum(inta,intb){
if(a>b){
returnb;
}else{
returna;
}
}
publicstaticvoidmain(String[]args){
inta=6,b=2,c=10;
question3s=newquestion3();
inttemp=s.maxNum(a,b);
inttemp1=s.maxNum(temp,c);
System.out.println("TheMaxNumis"+temp1);
inttemp2=s.minNum(a,b);
inttemp3=s.minNum(temp2,c);
System.out.println("TheMinNumis"+temp3);
}
}
结果:
(4)编程实现以下简单超市管理,具体要求如下:
1 实现描述超市的类Suppermacket类,具有货架属性,记录系统中现有商品,定义盘点商品的函数check(盘点各类商品的数量,并输出盘点结果),查询商品的函数query,并显示查询结果;
2 定义商品类Goods,具有商品名称Name,商品价格Price,商品产地Producer等属性,操作Sale(销售商品,余额不足时给予提示)、Add(商品上架操作)和ShowMe(显示商品信息)。
3 main函数,测试以上所要求的各种功能,即可以根据菜单命令增加、删除、查询商品、盘点商品,以及商品销售和商品上架的操作
提示:
①超市货架可以使用商品数组,数组大小100表明存放100个商品。
②注意实现商品查询的多态性,要求可以根据商品的名称或产地或价格查询商品的数量。
importjava.io.*;
importjava.util.Scanner;
publicclassMain{
staticStringname;
staticfloatprice;
staticintnum;
staticStringproducer;
staticSupermarktmarket=newSupermarkt();
publicstaticvoidmain(String[]args)throwsIOException{
inti=0;
while(true){
market.ShowMenu();
i=Integer.parseInt(Getline());
switch(i){
case1:
Add();
break;
case2:
Del();
break;
case3:
Showgoods();
break;
case4:
Query();
break;
case5:
System.out.print("成功退出系统");
return;
default:
System.out.println("输入错误,请重新输入!
");
break;
}
}
}
publicstaticvoidQuery(){
System.out.println("**查询商品**");
System.out.print("商品名:
");
name=Getline();
if(!
market.Query(name)){
System.out.print("没有该商品");
}
}
publicstaticvoidShowgoods(){
System.out.println("**显示所有商品**");
if(!
market.Showgoods()){
System.out.println("没有任何商品");
}
}
publicstaticvoidDel(){
System.out.println("**删除商品**");
System.out.print("商品名称:
");
name=Getline();
if(market.Del(name)){
System.out.println("删除商品->"+name+"成功!
");
}
else{
System.out.println("该商品不存在");
}
}
publicstaticvoidAdd(){
System.out.println("**增加商品**");
System.out.print("商品名称:
");
name=Getline();
System.out.print("商品价格:
");
price=Float.parseFloat(Getline());
System.out.print("商品数量:
");
num=Integer.parseInt(Getline());
System.out.print("商品产地:
");
producer=Getline();
if(market.Add(name,price,num,producer)){
System.out.println("增加商品->"+name+"成功!
");
}else{
System.out.println("存在相同商品,增加失败!
");
}
}
publicstaticStringGetline(){
Scannerscan=newScanner(System.in);
Stringstr=scan.nextLine();
returnstr.trim();
}
}
Goods
publicclassGoods{
privateStringname;
privatefloatprice;
privateintnum;
privateStringproducer;
publicGoods(Stringname,floatprice,intnum,Stringproducer){
this.name=name;
this.price=price;
this.num=num;
this.producer=producer;
}
publicStringGetName(){
returnthis.name;
}
publicfloatGetPrice(){
returnthis.price;
}
publicintGetNum(){
returnnum;
}
publicStringGetProducer(){
returnthis.producer;