太原理工大学java实验Word格式文档下载.docx
《太原理工大学java实验Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《太原理工大学java实验Word格式文档下载.docx(58页珍藏版)》请在冰点文库上搜索。
}
运行结果:
(2)“水仙花数”是指一个3位数,其个位、十位、百位上的数字的立方和等于该数本身,例如371=33+73+13,因此371是一个水仙花数。
编写程序,求所有的水仙花数。
packagecom.test12;
publicclassTest12{
publicstaticvoidmain(String[]args){
System.out.println("
所有3位数中的水仙花数为:
"
);
for(inti=100;
i<
1000;
i++){
inta=i/100;
intb=i/10%10;
intc=i%100%10;
if(a*a*a+b*b*b+c*c*c==i)
System.out.println(i);
(3)编写一个程序,求1-100间的素数。
packagecom.test13;
publicclassTest13{
booleanf;
1~100之间的素数是:
for(inti=2;
i<
=100;
i++){
f=true;
for(intj=2;
j<
i;
j++){
if(i%j==0){
f=false;
break;
if(f){
System.out.print(i+"
"
}
(4)有一函数:
x(x<
1)
Y=3x-2(1≤x<
10)
4x(x≥10)
写一程序,给定x值,输出y值。
packagecom.test14;
importjava.util.Scanner;
publicclassTest14{
publicstaticvoidmain(String[]arges){
System.out.print("
请输入一个x的值:
Scannerin=newScanner(System.in);
DoubleY,x=in.nextDouble();
if(x<
1){
System.out.println("
Y="
+x);
elseif(x>
=10){
Y=4*x;
+Y);
else{
Y=3*x-2;
(5)使用for循环语句,编写程序输出以下图案。
☆
☆☆☆
☆☆☆☆☆
☆☆☆☆☆☆☆
packageaddsum;
publicclassquestion5{
publicstaticvoidmain(Stringargs[]){
for(intr=1;
r<
=4;
r++)
{for(intspace=4-r;
space>
0;
space--)
+"
for(intstar=1;
star<
=2*r-1;
star++)
System.out.print('
☆'
\n'
for(intr=3;
r>
=1;
r--)
{for(intspace=4-r;
}
(6)编写程序,输出从公元1900年到2100年所有闰年的年号,每输出5个年号换一行。
判断年是否为闰年的条件是:
①若年号可以被4整除,而不能被100整除,则是闰年;
②若年号可以被400整除,也是闰年。
packagecom.test15;
publicclassTest16{
for(inti=1900;
=2010;
intn=0;
if((i%4==0)&
&
(i%100!
=0)||(i%400==0)){
n++;
System.out.println(i+"
是闰年"
if(n%5==0){
System.out.println("
\n"
}
}
运行结果:
4.讨论、心得
试验中遇到的问题及体会在实验过程中,整体都比较完整,基本没遇到什么太大调试问题,算法设计也比较清楚,结果相对比较满意。
体会:
经过实验使我对本章的知识有了更深一步的理解,也学会了将C语言运用到java语言中的学习方法,对知识做了进一步的巩固,同时也发现各种语言之间总有相同的模块,这也使我对以后各程序设计语言及各专业课的学习奠定基础,创造了条件
实验2数组和字符串编程
(1)通过实验,掌握Java语言中数组、字符串程序设计的基本方法。
(2)较熟练地掌握Java程序数组的应用、字符串处理操作的方法应用。
2.实验内容
(1)编写一个程序,在控制台输入10个数,按大小顺序输出。
packagecom.testTwo;
publicclassTestTwo0{
int[]x=newint[10];
请输入十个整数:
Scannersc=newScanner(System.in);
for(inti=0;
10;
i++){
x[i]=sc.nextInt();
sort(x);
publicstaticvoidsort(int[]x){
//TODOAuto-generatedmethodstub
inttemp;
for(inti=0;
10;
i++){
for(intj=i+1;
j++){
if(x[i]<
x[j]){
temp=x[i];
x[i]=x[j];
x[j]=temp;
}
System.out.print(x[i]+"
"
(2)求一个3*3矩阵对角线元素之和。
publicclassTestTwo2{
int[][]nums={{1,2,3},{4,5,6},{7,8,9}};
intsum=0;
for(inti=0;
3;
for(intj=0;
j<
j++){
if(i==j||i+j==2){
sum+=nums[i][j];
3*3矩阵对角线元素之和sum="
(3)输入一段字符串,统计其中有多少个单词。
(单词用空格隔开)
importjava.io.BufferedReader;
importjava.io.IOException;
importjava.io.InputStreamReader;
publicclassTestTwo3{
publicstaticvoidmain(Stringargs[])throwsIOException{
intnum=1;
Strings;
System.out.print("
请输入一段字符串:
BufferedReaderbuf=newBufferedReader(
newInputStreamReader(System.in));
s=buf.readLine();
for(inti=0;
s.length();
if(s.charAt(i)=='
'
){
num++;
该字符串有"
+num+"
个单词"
3.讨论、心得
通过实验,掌握Java语言中数组、字符串程序设计的基本方法,较熟练地掌握Java程序数组的应用、字符串处理操作的方法应用,学到了很多知识,加深了对书本上知识的理解。
实验3Java面向对象程序设计
掌握Java面向对象程序设计中类、继承、包和接口的概念与应用,能熟练应用方法、类、成员变量等元素。
(1)创建一个复数类complex,以复数进行数学运算、复数具有如下格式:
RealPart+ImaginaryPart*I,其中,I为-1的平方根。
要求如下:
1 利用浮点变量表示此类的私有数据。
提供两个构造方法,一个用于此类声明的对象的初始化;
一个为默认的无参构造方法。
2 提供两复数加、减、乘的运算方法。
3 按格式(a,b)打印复数。
其中a为实部,b为虚部。
packageshiyan3;
publicclassquestion1{
publicstaticvoidmain(String[]args){
Complexa=newComplex(3,5);
Complexb=newComplex(7,2);
System.out.println(a.toString()+"
和"
+b.toString()+"
相加的结果为"
+plexAdd(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;
publicclassquestion2{
doublebalance=0;
doubledeposit=0;
doublewithdraw=0;
for(;
){
请输入数字:
\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();
存钱数目为:
+deposit);
s1+=deposit;
}
2"
输入取钱金额:
withdraw=input.nextDouble();
取走金额为:
+withdraw);
s2+=withdraw;
if(true|num.equals("
3"
balance+=s1-s2;
账户余额为:
+balance);
(3)编程定义一个接口,实现三个数中求最小值和最大值的方法,并将程序存放在mymaths包中。
3.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);
(4)编程实现以下简单超市管理,具体要求如下:
1 实现描述超市的类Suppermacket类,具有货架属性,记录系统中现有商品,定义盘点商品的函数check(盘点各类商品的数量,并输出盘点结果),查询商品的函数query,并显示查询结果;
2 定义商品类Goods,具有商品名称Name,商品价格Price,商品产地Producer等属性,操作Sale(销售商品,余额不足时给予提示)、Add(商品上架操作)和ShowMe(显示商品信息)。
3 main函数,测试以上所要求的各种功能,即可以根据菜单命令增加、删除、查询商品、盘点商品,以及商品销售和商品上架的操作
提示:
①超市货架可以使用商品数组,数组大小100表明存放100个商品。
②注意实现商品查询的多态性,要求可以根据商品的名称或产地或价格查询商品的数量。
importjava.io.*;
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();
case3:
Showgoods();
case4:
Query();
case5:
成功退出系统"
return;
default:
System.out.println("
输入错误,请重新输入!
publicstaticvoidQuery(){
**查询商品**"
商品名:
name=Getline();
if(!
market.Query(name)){
System.out.print("
没有该商品"
publicstaticvoidShowgoods(){
**显示所有商品**"
market.Showgoods()){
没有任何商品"
publicstaticvoidDel(){
**删除商品**"
商品名称:
if(market.Del(name)){
删除商品->
+name+"
成功!
else{
该商品不存在"
publicstaticvoidAdd(){
**增加商品**"
商品价格:
price=Float.parseFloat(Getline());
商品数量:
num=Integer.parseInt(Getline());
商品产地:
producer=Getline();
if(market.Add(name,price,num,producer)){
增加商品->
}else{
存在相同商品,增加失败!
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;