JAVA 实验报告(一)
更新时间:2024-01-18 12:55:01 阅读量: 教育文库 文档下载
- java培训班推荐度:
- 相关推荐
西华大学计算机系学生上机实践报告
西华大学计算机系上机实践报告
课程名称:Java面向对象程序设计 指导教师:陆园
上机实践名称:Java语言基础 上机实践编号: 年级:2008 姓名:赵侨月 组号:
上机实践成绩:
上机实践时间:16:00-17:40
学号:312008080605524 上机实践日期:2011.9.30
一、目的
1、了解Java编程基础
2.、学会基本Java程序的实现
二、内容与设计思想
1、我国历法中的天干、地支和生肖的排列是有规律的。天干的顺序是“甲乙丙丁戊己庚辛壬癸”,地支的顺序是“子丑寅卯辰巳午未申酉戌亥”,生肖的顺序是“鼠牛虎兔龙蛇马羊猴鸡狗猪”。天干、地支、生肖的计算方法非常简单:将年份减去3后除以10得到余数是几,对应于天干中的第几个;将年份减去3后除以12得到余数是几,则对应于地支中的第几个;生肖的计算方法和地支完全一致。例如,对2006年而言,将数字2006减去3后是2003,除以10后的余数是3,对应于天干中的第三位“丙”;将2003除以12的余数是11,所以对应地支中的倒数第二位“戌”。由此可知,2006年是“丙戌”年,生肖是“狗”。
根据以上思路,用Java写一个程序。程序提供一个声明形式为“public void getInfo(int year)”的方法,此方法接收一个int类型的代表年份的数字,然后计算并打印出相关信息。
2、对于某移动通信公司的某通话服务,按如下标准收取长途通话费:基本通话费是每分钟4角钱,不足1分钟的部分则按照1分钟计算;长途通话费是每6秒7分钱,不足6秒的部分按照6秒计算。整个长途通话费用由上述两项加起来。编写一个Java程序实现上面的计算。要求:编写一个声明为“public void calcFee(int iSeconds)”的方法,该方法接收通话的秒数,然后计算出费用并显示出来。在main方法中调用该方法,分别将通话长度为5秒、60秒、61秒、119秒四种情况下的费用打印出来。提示:为了避免出现小数,采用分而不是元来计算。
3、设计一个Java程序,其功能为:从键盘输入两个正整数m,n(m x2x4x6x8cosx?1?????? 2!4!6!8!5、设计一个Java程序,利用二维数组实现井字游戏。这个游戏的具体规则是:在一个3×3的方阵中,两个人轮流在空白处做符号标记,例如,一个人做√标记,另一个人做?标记,先将同一种标记在一行、一列或者两个对角线上连成线者为胜。图中表示√方胜。 √ ? √ ? √ 6、设计一个Java程序,其功能为:随机生成行个介于0?100之间的整数,统计每个整数的出现次数,并 根据这个统计结果,按照从小到大的顺序显示生成的每个整数。 7、设计一个Java程序,其功能为:从键盘输入一个m×n的矩阵,并对这个矩阵进行转置操作,即将矩阵中所有的aij内容与aji内容互换。 8、某火车站规定:在旅游旺季7~9月份,如果订票20张及其以上者,优惠票价10%;20张以下,优惠5%;在旅游淡季1~6月份、10~12月份,订票20张及其以上者,优惠票价20%;20张以下,优惠10%。编写一个Java程序能够根据月份和旅客订票张数决定优惠率。 第 1 页 共 10 页 西华大学计算机系学生上机实践报告 三、使用环境 Netbeans IDE 6.9 四、核心代码及调试过程 1、我国历法中的天干、地支和生肖的排列是有规律的。天干的顺序是“甲乙丙丁戊己庚辛壬癸”,地支的顺序是“子丑寅卯辰巳午未申酉戌亥”,生肖的顺序是“鼠牛虎兔龙蛇马羊猴鸡狗猪”。天干、地支、生肖的计算方法非常简单:将年份减去3后除以10得到余数是几,对应于天干中的第几个;将年份减去3后除以12得到余数是几,则对应于地支中的第几个;生肖的计算方法和地支完全一致。例如,对2006年而言,将数字2006减去3后是2003,除以10后的余数是3,对应于天干中的第三位“丙”;将2003除以12的余数是11,所以对应地支中的倒数第二位“戌”。由此可知,2006年是“丙戌”年,生肖是“狗”。 根据以上思路,用Java写一个程序。程序提供一个声明形式为“public void getInfo(int year)”的方法,此方法接收一个int类型的代表年份的数字,然后计算并打印出相关信息。 package newpackage; import java.util.*; public class diyiti{ static int tg,dz,sx; public void getInfo(int year){ char tiangan[]={'甲','乙','丙','丁','戊','己','庚','辛','壬','癸'}; char dizhi[]={'子','丑','寅','卯','辰','巳','午','未','申','酉','戌','亥'}; char shengxiao[]={'鼠','牛','虎','兔','龙','蛇','马','羊','猴','鸡','狗','猪'}; tg=(year-3); dz=(year-3); sx=(year-3); if(tg==0) tg=10; if(dz==0) dz=12; if(sx==0) sx=12; System.out.println(\天干:\ System.out.println(\地支:\ System.out.println(\生肖:\} public static void main(String args[]){ System.out.print(\请输入年份:\ Scanner input=new Scanner(System.in); int a=input.nextInt(); diyiti out=new diyiti(); out.getInfo(a); } } 2、对于某移动通信公司的某通话服务,按如下标准收取长途通话费:基本通话费是每分钟4角钱,不足1分钟的部分则按照1分钟计算;长途通话费是每6秒7分钱,不足6秒的部分按照6秒计算。整个长途通话费用由上述两项加起来。编写一个Java程序实现上面的计算。要求:编写一个声明为“public void 第 2 页 共 10 页 西华大学计算机系学生上机实践报告 calcFee(int iSeconds)”的方法,该方法接收通话的秒数,然后计算出费用并显示出来。在main方法中调用该方法,分别将通话长度为5秒、60秒、61秒、119秒四种情况下的费用打印出来。提示:为了避免出现小数,采用分而不是元来计算。 package newpackage; import java.util.Scanner; public class two{ public void calcFee(int iSeconds){ int sum,basic,longdistance; if(iSeconds`==0) basic=(iSeconds/60)*40; else basic=(iSeconds/60)*40+40; if(iSeconds%6==0) longdistance=(iSeconds/6)*7; else longdistance=(iSeconds/6)*7+7; sum=basic+longdistance; System.out.println(iSeconds+\秒的费用为:\ } public static void main(String args[]){ two cost=new two(); cost.calcFee(5); cost.calcFee(60); cost.calcFee(61); cost.calcFee(119); } } 3、设计一个Java程序,其功能为:从键盘输入两个正整数m,n(m public static void main(String args[]){ int m,n,t,i,temp; int count=0; float prime; Scanner entry=new Scanner(System.in); System.out.print(\请输入正整数m:\ m=entry.nextInt(); while(m<1){ 第 3 页 共 10 页 西华大学计算机系学生上机实践报告 System.out.print(\的值输入不正确,请重新输入:\ m=entry.nextInt(); } System.out.print(\请输入正整数n:\ n=entry.nextInt(); while( n<1){ System.out.print(\的值输入不正确,请重新输入:\ n=entry.nextInt(); } while(m>n){ t=m; m=n; n=t; } for(temp=m;temp<=n;temp++){ for (i = 2; i <= temp/2; i++){ if(temp % i == 0) break; } if(i>temp/2){ count++; System.out.print(temp+\ if(count%5==0){ System.out.println(); } } } } } 4、设计一个Java程序,其功能为:从键盘输入x,利用下列公式计算cos(x)的近似值。要求准确度达到10-8。 x2x4x6x8cosx?1?????? 2!4!6!8!package newpackage; 第 4 页 共 10 页 西华大学计算机系学生上机实践报告 import java.util.*; public class four{ void calcos(double x){ double sum; double item=-Math.pow(x,2)/2; int i=1; sum=item+1; float zqd=1e8f; while(Math.abs(item)>zqd){ item=-item*x*x/((2*i+1)*(2*i+2)); sum=sum+item; i++; } System.out.println(\的值为:\ } public static void main(String args[]){ System.out.print(\请输入x的值:\ Scanner input=new Scanner(System.in); double a=input.nextDouble(); four b=new four(); b.calcos(a); } } 5、设计一个Java程序,利用二维数组实现井字游戏。这个游戏的具体规则是:在一个3×3的方阵中,两个人轮流在空白处做符号标记,例如,一个人做√标记,另一个人做?标记,先将同一种标记在一行、一列或者两个对角线上连成线者为胜。图中表示√方胜。 √ ? √ ? √ 6、设计一个Java程序,其功能为:随机生成行个介于0?100之间的整数,统计每个整数的出现次数,并 根据这个统计结果,按照从小到大的顺序显示生成的每个整数。 package newpackage; import java.util.*; //import java.lang.*; public class six { public static void main(String args[]) { int i; int array[]=new int[30]; //生成随机地0个整数 for(i=0;i<30;i++) { int n; 第 5 页 共 10 页 西华大学计算机系学生上机实践报告 n=(int) ((100 * (Math.random()))); array[i]=n; System.out.print(n+\ \ } System.out.println(); //统计每个随机生成数的的个数 for(int k=0;k<30;k++) { int count=0; for(int j=k;j<30;j++) { if(array[k]==array[j]) count++; } System.out.println(\随机生成的数\出现的次数为:\ } //排序 int p=0; int q=0; int temp=0; for(p=0;p<30;p++){ for(q=0;q<30;q++){ if(array[p] } } System.out.println(\排序后的30个随机生成数如下:\ for(int r=0;r<30;r++){ System.out.print(array[r]+\ \ } } } 第 6 页 共 10 页 西华大学计算机系学生上机实践报告 7、设计一个Java程序,其功能为:从键盘输入一个m×n的矩阵,并对这个矩阵进行转置操作,即将矩阵中所有的aij内容与aji内容互换。 package newpackage; import java.util.*; public class sevenmatrix{ public static void main(String args[]){ Scanner s= new Scanner(System.in); System.out.print(\请输入矩阵的行数m:\ int m=s.nextInt(); System.out.print(\请输入矩阵的列数n:\ int n=s.nextInt(); int a[][]=new int[m][n]; int b[][]=new int[n][m]; int i,j; //输入数据 System.out.println(\请输入矩阵:\ for(i=0;i System.out.println(\原始矩阵: \ for (i=0;i b[j][i]=a[i][j]; System.out.print(a[i][j]+\ } System.out.println(); } //转置矩阵 第 7 页 共 10 页 西华大学计算机系学生上机实践报告 for(i=0;i //显示转置后的矩阵 System.out.println(\转置后的矩阵:\ for(i=0;i for (j = 0; j < m; j++) System.out.print(b[i][j] + \ System.out.println(); } } } 8、某火车站规定:在旅游旺季7~9月份,如果订票20张及其以上者,优惠票价10%;20张以下,优惠5%;在旅游淡季1~6月份、10~12月份,订票20张及其以上者,优惠票价20%;20张以下,优惠10%。编写一个Java程序能够根据月份和旅客订票张数决定优惠率。 package newpackage; import java.util.*; public class eight { public static void main(String args[]){ int month,ticket; float privilege; Scanner in=new Scanner(System.in); System.out.print(\请输入当前月份:\ month=in.nextInt(); while(month<=1 || month>12){ System.out.print(\月份格式不正确,请重新输入:\ month=in.nextInt(); } System.out.print(\请输入旅客订票数:\ ticket=in.nextInt(); if((month>=1 && month<=6) ||(month>=10 && month<=12)){ if (ticket > 0 && ticket <= 20) privilege=0.1f; else privilege=0.2f; } 第 8 页 共 10 页 西华大学计算机系学生上机实践报告 else{ if (ticket > 0 && ticket <= 20) privilege=0.05f; else privilege=0.1f; } System.out.println(month+\月份\张的优惠率是:\ } } 第 9 页 共 10 页 西华大学计算机系学生上机实践报告 五、总结 通过这次上机,我对Java有了一定的认识,知道了Java与C、C++、C#编程的部分不同地方,比如:输入/输出方式、换行的表达、数组的声明与创建、代码查错等等。Java中输入需要创建对象,通过对象实现各种类型的数据的输入;用System.out.print()实现数据的输出;System.out.printlb()用于换行。对于Java的包的概念有了一定的了解,并知道导入import类的重要性,一般都需要导入java.util.*类。Java的程序都是在类中实现的,且public static void main(String args[])是固定模式。若创建了方法,在调用方法或方法中的类时,根据情况直接调用或用对象调用。虽然最终完成了上机作业,但是因为对教材的不熟悉,代码编写用了较长的时间,在以后的日子,我尽量多花时间看书熟悉java的知识并多加练习编程。 第 10 页 共 10 页
正在阅读:
JAVA 实验报告(一)01-18
操作系统论文07-03
五年级下册《分数除法(一)》教学设计05-17
人教初中数学九下 28.2《方位角、坡度、坡角》教案04-12
湖南省第三届大学生物理竞赛试题及答案10-17
关于争端解决规则与程序的谅解01-01
《部首查字法》教学设01-12
陈洪渊 院士09-14
余世维讲座之经理人常犯的错误06-07
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 实验
- 报告
- JAVA