太原理工大学java实验报告Word格式.docx
《太原理工大学java实验报告Word格式.docx》由会员分享,可在线阅读,更多相关《太原理工大学java实验报告Word格式.docx(34页珍藏版)》请在冰豆网上搜索。
![太原理工大学java实验报告Word格式.docx](https://file1.bdocx.com/fileroot1/2022-11/22/b17473dc-8160-41ba-86d9-9c82f499696e/b17473dc-8160-41ba-86d9-9c82f499696e1.gif)
(2)编写一个程序,求1-100间的素数。
packagetest1;
publicclassf3{
publicstaticvoidmain(String[]args){
//TODOAuto-generatedmethodstub
100内的素数为:
"
);
loop:
for(inti=2;
i<
100;
i++)
for(intj=2;
j<
i;
j++)
if(i%j==0)
continueloop;
}
System.out.print("
"
+i);
(3)使用for循环语句,编写程序输出以下列图案。
☆
☆☆☆
☆☆☆☆☆
☆☆☆☆☆☆☆
packagetest1;
publicclassf11{
for(inti=1;
=4;
i++){
for(intk=0;
k<
=4-i;
k++){
System.out.print("
}
for(intj=1;
=2*i-1;
j++){
☆"
System.out.println();
}
for(inti=3;
i>
0;
i--){
=4-i;
3.实验预习
(1)复习本章所学内容。
(2)写出实验内容中第
(2)、(3)题两个程序的源代码,作为预习报告。
4.实验结论
实验过程中,注意记录以下内容:
(1)遇到的问题及解决方法。
在编写星星程序时,不会它的算法,通过XX,然后自己试运行,得出了最后的结果。
另外,在程序中遇到问题,积极的问了同学,解决了我的问题。
(2)实验体会。
我觉得在编写程序时,要细心并且要有耐心,认真的写每一个程序,就一定会有收获。
实验2数组和字符串编程
(1)通过实验,掌握Java语言中数组、字符串程序设计的基本方法。
(2)较熟练地掌握Java程序数组的应用、字符串处理操作的方法应用。
(1)编写一个程序,在控制台输入10个数,按大小顺序输出。
importjava.util.Arrays;
importjava.util.Scanner;
int[]num=newint[10];
@SuppressWarnings("
resource"
)
Scannerinput=newScanner(System.in);
请输入数字:
10;
i++){
num[i]=input.nextInt();
Arrays.sort(num);
从小到大输出:
for(intindex=0;
index<
num.length;
index++){
System.out.println(num[index]);
〔2〕求一个3*3矩阵对角元素之和。
import;
Scannerin=newScanner(System.in);
System.out.println("
请输入一个3*3矩阵:
intsum=0;
int[][]a=newint[3][3];
for(inti=0;
3;
i++)
for(intj=0;
j<
j++)
a[i][j]=in.nextInt();
if(i==j)
sum+=a[i][j];
\n"
对角线和为"
〔3〕输入一段字符串,统计其中有多少个单词。
〔单词用空格隔开〕
Scannerinput=newScanner(System.in);
System.out.print("
请输入:
Stringsentence=input.nextLine();
//将输入的句子转化为单词数组
String[]words=sentence.split("
//单词数组的长度就是单词数
共有"
+words.length+"
个单词."
(1)将本章所学内容要点进行整理,并认真体会例题中的编程要领。
在编写排序算法时,采用了冒泡排序,对于冒泡排序,产生了一些错误,通过查阅书籍进行改正,最后得到了正确结果。
(2)实验体会
在编写程序时要认真细心,并且要认真了解它的过程,明白它的算法。
实验3Java面向对象程序设计
掌握Java面向对象程序设计中类、继承、包和接口的概念与应用,能熟练应用方法、类、成员变量等元素。
(1)创建一个复数类complex,以附属进行数学运算、复数具有如下格式:
RealPart+ImaginaryRart*I,其中,I为-1的平方根。
要求如下:
1 利用浮点变量表示此类的私有数据。
提供两个构造方法,一个用于此类声明的对象的初始化;
一个为默认的无参构造方法。
2 提供两复数加、减、乘的运算方法。
按格式(a,b)打印复数。
其中a为实部,b为虚部。
Complexa=newComplex(1,7);
Complexb=newComplex(7,5);
System.out.println(a.toString()+"
和"
+b.toString()+"
相加的结果为"
+aplexAdd(b).toString());
差"
相减的结果为"
+aplexJian(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)等功能。
doublebalance=0;
doubledeposit=0;
doublewithdraw=0;
for(;
){
System.out.println("
\t1.存\t2.取\t3.查询\n"
@SuppressWarnings("
Scannerinput=newScanner(System.in);
Stringnum=input.next();
doubles1=0,s2=0;
if(num.equals("
1"
)){
System.out.println("
输入存入金额:
deposit=input.nextDouble();
存钱数目为:
+deposit);
s1+=deposit;
}
2"
输入取钱金额:
withdraw=input.nextDouble();
取走金额为:
+withdraw);
s2+=withdraw;
if(true|num.equals("
3"
balance+=s1-s2;
账户余额为:
+balance);
〔3〕编程定义一个接口,实现三个数中求最小值和最大值的方法,并将程序存放在mymaths包中。
packageshiyan3;
publicclassquestion3{
publicIntegermaxNum(inta,intb){
if(a>
b){
returna;
}else{
returnb;
publicIntegerminNum(inta,intb){
returnb;
returna;
publicstaticvoidmain(String[]args){
inta=6,b=2,c=10;
question3s=newquestion3();
inttemp=s.maxNum(a,b);
inttemp1=s.maxNum(temp,c);
TheMaxNumis"
+temp1);
inttemp2=s.minNum(a,b);
inttemp3=s.minNum(temp2,c);
TheMinNumis"
+temp3);
(2)编程实现以下简单超市管理,具体要求如下:
1 实现描述超市的类SuperMacket类,具有货架属性,记录系统中现有商品,定义盘点商品的函数check(盘点各类商品的数量,并输出盘点结果),查询商品的函数query,并显示查询结果;
packagesssu;
importjava.util.ArrayList;
importjava.util.List;
/**
*1、实现描述超市的的类Suppermacket类,
*记录系统中现有商品(Goods类),
*定义增加商品的函数Append,
*删除商品的函数Delete,
*查询商品的函数Query,
*并显示查询结果;
*
*/
publicclassSuperMarket{
privateList<
Goods>
goodsList=newArrayList<
();
/**
*增加商品的
*@paramgoods
*@return
publicStringappend(Goodsgoods)
goodsList.add(goods);
return"
添加成功"
*删除商品
publicStringdelete(Stringname)
{Stringflag=null;
if(name==null){
flag="
删除商品["
+name+"
]不存在"
else
for(inti=0;
goodsList.size();
i++)
Goodsgoods=goodsList.get(i);
if(goods.getName().equals(name))
goodsList.remove(i);
]成功"
break;
returnflag;
*销售
publicStringsale(Goodsgoods)
Stringflag="
销售商品["
+goods.getName()+"
]失败"
if(goods!
=null)
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())
余额不足"
goods_2.setNumber(goods_2.getNumber()-goods.getNumber());
}
}/**
*查询商品
publicList<
getGoodsList()
returngoodsList;
publicvoidsetGoodsList(List<
goodsList)
this.goodsList=goodsList;
2 定义商品类Goods,具有商品名称Name,商品价格Price,商品产地Producer等属性,操作Sale〔销售商品,余额不足时给予提示〕、Add〔商品上架操作〕和ShowMe〔显示商品信息〕。
*具有商品名称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(){
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
================="
请选择操作类型"
1添加商品"
2删除商品"
3查询商品"
4销售商品"
0退出系统"
inti=0;
try
type=Integer.parseInt(readString());
i=0;
catch(Exceptione)
i=1;
System.err.println("
输入有误"
whi