System.out.println(num[index]);
}
}
}
(2)求一个3*3矩阵对角元素之和。
packagetest1;
importjava.util.Arrays;
importjava.util.Scanner;
publicclassf11{
publicstaticvoidmain(String[]args){
//TODOAuto-generatedmethodstub
@SuppressWarnings("resource")
Scannerin=newScanner(System.in);
System.out.println("请输入一个3*3矩阵:
");
intsum=0;
int[][]a=newint[3][3];
for(inti=0;i<3;i++)
{
for(intj=0;j<3;j++)
{
a[i][j]=in.nextInt();
if(i==j)
sum+=a[i][j];
}
System.out.print("\n");
}
System.out.println("对角线和为"+sum);
}
}
(3)输入一段字符串,统计其中有多少个单词。
(单词用空格隔开)
packagetest1;
importjava.util.Scanner;
publicclassf11{
publicstaticvoidmain(String[]args){
//TODOAuto-generatedmethodstub
@SuppressWarnings("resource")
Scannerinput=newScanner(System.in);
System.out.print("请输入:
");
Stringsentence=input.nextLine();//将输入的句子转化为单词数组
String[]words=sentence.split("");//单词数组的长度就是单词数
System.out.println("共有"+words.length+"个单词.");
}
}
3.实验预习
(1)将本章所学内容要点进行整理,并认真体会例题中的编程要领。
(2)写出实验内容中第
(2)、(3)题两个程序的源代码,作为预习报告。
4.实验结论
实验过程中,注意记录以下内容:
(1)遇到的问题及解决办法。
在编写排序算法时,采用了冒泡排序,对于冒泡排序,产生了一些错误,通过查阅书籍进行改正,最后得到了正确结果。
(2)实验体会
在编写程序时要认真细心,并且要认真了解它的过程,明白它的算法。
实验3Java面向对象程序设计
1.实验目的
掌握Java面向对象程序设计中类、继承、包和接口的概念与应用,能熟练应用方法、类、成员变量等元素。
2.实验内容
(1)创建一个复数类complex,以附属进行数学运算、复数具有如下格式:
RealPart+ImaginaryRart*I,其中,I为-1的平方根。
要求如下:
1 利用浮点变量表示此类的私有数据。
提供两个构造方法,一个用于此类声明的对象的初始化;一个为默认的无参构造方法。
2 提供两复数加、减、乘的运算方法。
按格式(a,b)打印复数。
其中a为实部,b为虚部。
packagetest1;
importjava.util.Scanner;
publicclassf11{
publicstaticvoidmain(String[]args){
//TODOAuto-generatedmethodstub
Complexa=newComplex(1,7);
Complexb=newComplex(7,5);
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)等功能。
packagetest1;
importjava.util.Scanner;
publicclassf11{
publicstaticvoidmain(String[]args){
//TODOAuto-generatedmethodstub
doublebalance=0;
doubledeposit=0;
doublewithdraw=0;
for(;;){
System.out.println("请输入数字:
\t1.存\t2.取\t3.查询\n");
@SuppressWarnings("resource")
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包中。
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);
}
}
(2)编程实现以下简单超市管理,具体要求如下:
1 实现描述超市的类SuperMacket类,具有货架属性,记录系统中现有商品,定义盘点商品的函数check(盘点各类商品的数量,并输出盘点结果),查询商品的函数query,并显示查询结果;
packagesssu;
importjava.util.ArrayList;
importjava.util.List;
/**
*1、实现描述超市的的类Suppermacket类,
*记录系统中现有商品(Goods类),
*定义增加商品的函数Append,
*删除商品的函数Delete,
*查询商品的函数Query,
*并显示查询结果;
*
*/
publicclassSuperMarket{
privateListgoodsList=newArrayList();
/**
*增加商品的
*@paramgoods
*@return
*/
publicStringappend(Goodsgoods)
{
goodsList.add(goods);
return"添加成功";
}
/**
*删除商品
*/
publicStringdelete(Stringname)
{Stringflag=null;
if(name==null){
flag="删除商品["+name+"]不存在";
}
else
{
for(inti=0;i{
Goodsgoods=goodsList.get(i);
if(goods.getName().equals(name))
{
goodsList.remove(i);
flag="删除商品["+name+"]成功";
break;
}
}
}
returnflag;
}
/**
*销售
*@paramgoods
*@return
*/
publicStringsale(Goodsgoods)
{
Stringflag="销售商品["+goods.getName()+"]失败";
if(goods!
=null)
{
for(inti=0;i{
Goodsgoods_2=goodsList.get(i);
if(goods_2.getName().equals(goods.getName()))
{
if(goods.getNumber()>goods_2.getNumber())
{
flag+="原因:
库存不足";
}
elseif((goods_2.getPrice()*goods.getNumber())>goods.getPrice())
{
flag+="原因:
余额不足";
}
else
{
goods_2.setNumber(goods_2.getNumber()-goods.getNumber());
flag="销售商品["+goods.getName()+"]成功";
}
break;
}
}
}
returnflag;
}/**
*查询商品
*@return
*/
publicListgetGoodsList()
{
returngoodsList;
}
publicvoidsetGoodsList(ListgoodsList)
{
this.goodsList=goodsList;
}
}
2 定义商品类Goods,具有商品名称Name,商品价格Price,商品产地Producer等属性,操作Sale(销售商品,余额不足时给予提示)、Add(商品上架操作)和ShowMe(显示商品信息)。
packagesssu;
/**
*具有商品名称Name,
*商品价格Price,
*商品数量number等属性,
*操作Sale(销售商品,余额不足时给予提示)、
*Add(商品上架操作)
*和ShowMe(显示商品信息)。
*/
publicclassGoods
{
privateStringname;
privatefloatprice;
privateintnumber;
privateStringProducer;
publicStringgetName()
{
returnname;
}
publicvoidsetName(Stringname)
{
this.name=name;
}
publicfloatgetPrice()
{
returnprice;
}
publicvoidsetPrice(floatprice)
{
this.price=price;
}
publicintgetNumber()
{
returnnumber;
}
publicvoidsetNumber(intnumber)
{
this.number=number;
}
publicvoidProducer(Stringi)
{
this.Producer=i;
}
publicStringProducer(){
//TODOAuto-generatedmethodstub
returnProducer;
}
}
3 main函数,测试以上所要求的各种功能,即可以根据菜单命令增加、删除、查询商品、盘点商品,以及商品销售和商品上架的操作
提示:
①超市货架可以使用商品数组,数组大小100表明存放100个商品。
②注意实现商品查询的多态性,要求可以根据商品的名称或产地或价格查询商品的数量。
packagesssu;
importjava.io.BufferedReader;
importjava.io.IOException;
importjava.io.InputStreamReader;
/**
*1、实现描述超市的的类Suppermacket类,记录系统中现有商品(Goods类),定义增加商品的函数Append,
*删除商品的函数Delete,查询商品的函数Query,并显示查询结果;
*2、定义商品类Goods,具有商品名称Name,商品价格Price,商品数量number等属性,操作Sale(销售商品,余额不足时给予提示)、Add(商品上架操作)和ShowMe(显示商品信息)。
*3、编写包含main方法的测试类,测试以上所要求的各种功能,即可以根据菜单命令增加、删除和查询商品,以及商品销售和商品上架的操作。
*/
publicclassTest{
publicstaticvoidmain(String[]args)
{
SuperMarketmarket=newSuperMarket();
@SuppressWarnings("unused")
String[]label={"商品名称","商品价格","商品数量"};
inttype=-1;
do
{
System.out.println("=================");
System.out.println("请选择操作类型");
System.out.println("1添加商品");
System.out.println("2删除商品");
System.out.println("3查询商品");
System.out.println("4销售商品");
System.out.println("0退出系统");
System.out.println("=================");
inti=0;
do
{
try
{
type=Integer.parseInt(readString());
i=0;
}
catch(Exception