西华大学计算机系上机实践报告
课程名称: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小时内删除。