西华大学计算机系上机实践报告
课程名称:Java面向对象程序设计 | 年级:2008 | 上机实践成绩: |
指导教师:陆园 | 姓名:赵侨月 | |
上机实践名称:Java语言基础 | 学号:312008080605524 | 上机实践日期:2011.9.30 |
上机实践编号: | 组号: | 上机实践时间:16:00-17:40 |
一、目的
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秒、6
1秒、119秒四种情况下的费用打印出来。提示:为了避免出现小数,采用分而不是元来计算。
3、设计一个Java程序,其功能为:从键盘输入两个正整数m,n(m<n),显示这两个数值之间的全部质数。例如,输入20和200,程序会将20~200之间的全部质数显示出来。
4、设计一个Java程序,其功能为:从键盘输入x,利用下列公式计算cos(x)的近似值。要求准确度达到10-8。
5、设计一个Java程序,利用二维数组实现井字游戏。这个游戏的具体规则是:在一个3×3的方阵中,两个人轮流在空白处做符号标记,例如,一个人做√标记,另一个人做 标记,先将同一种标记在一行、一列或者两个对角线上连成线者为胜。图中表示√方胜。
√ | ||
√ | ||
√ | ||
nextint()方法 |
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程序能够根据月份和旅客订票张数决定优惠率。
三、使用环境
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)%10;
dz=(year-3)%12;
sx=(year-3)%12;
if(tg==0)
tg=10;
if(dz==0)
dz=12;
if(sx==0)
sx=12;
System.out.println("天干:"+ tiangan[tg-1]);
System.out.println("地支:"+ dizhi[dz-1]);
System.out.println("生肖:"+ shengxiao[sx-1]);
}
public static void main(String args[]){
System.out.print("请输入年份:");
Scanner input=new Scanner(System.in);
int Int();
diyiti out=new diyiti();
Info(a);
}
}
2、对于某移动通信公司的某通话服务,按如下标准收取长途通话费:基本通话费是每分钟4角钱,不足1分钟的部分则按照1分钟计算;长途通话费是每6秒7分钱,不足6秒的部分按照6秒计算。整个长途通话费用由上述两项加起来。编写一个Java程序实现上面的计算。要求:编写一个声明为“public void 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%60==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+"秒的费用为:"+sum);
}
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<n),显示这两个数值之间的全部质数。例如,输入20和200,程序会将20~200之间的全部质数显示出来。
package newpackage;
import java.util.*;
public class three {
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:");
Int();
while(m<1){
System.out.print("m的值输入不正确,请重新输入:");
Int();
}
System.out.print("请输入正整数n:");
Int();
while( n<1){
System.out.print("n的值输入不正确,请重新输入:");
Int();
}
while(m>n){
t=m;
m=n;
n=t;
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论