1、如王企鹅JAVA课程设计 学 院: 信 息 工 程 学 院班 级:计算机科学与技术2班 学 号: 2013051229 姓 名: 陶 雅 萍 指导老师: 杨 芳 萍 实验一 制作月历一、设计思路1、设计要求:(1)输入一个月份,屏幕上输出这个月的月历,每星期一行,星期日是第一天,到星期六结束。(2)用户任意输入一个日期,屏幕上显示是星期几。(3)盘上输入两个日期,计算着两个日期之间含有多少天。2、设计要点:练习运用相关方法和类的使用,尤其是日历类中日期和日历方法的使用,以及子类和父类之间的继承。3、设计思路:首先,在程序中,需要使用日历类的实例,构造一个日历类。再将一年的12个月的天数和一周的
2、天数名称分别保存在整型、字符串数组days中。然后,用户通过键盘直接输入年份和月份,用DAY_OF_WEEK表示一周的第几天,从星期日开始,依次是1、2、3、4、5、6、7分别对应数组days中的每一项。最后,编写main方法,实现方法、各个类的应用。二、代码实现import java.util.*;import java.io.*;import java.util.Date.*;import java.text.*;import java.text.DateFormat.*;import java.text.SimpleDateFormat.*;public class MyCalendar
3、 extends GregorianCalendar void showCalendar(int month) intdays=31,28,31,30,31,30,31,31,30,31,30,31; Calendar c=Calendar.getInstance(); int year=c.get(Calendar.YEAR); int date=c.get(Calendar.DATE); c=new GregorianCalendar(year,month-1,date); if(year%4=0&year%100!=0|year%400=0)& month=2) days1+;/闰年的2
4、月份天数 System.out.println(-Calendar:+year+-+month+-n); System.out.println(SUN MON TUE WED THU FRI SAT); c.set(DATE,1); int first=c.get(Calendar.DAY_OF_WEEK); int i; for(i=1;ifirst;i+) for(i=1;i=daysmonth-1;i+) if(i10) System.out.print(); System.out.print(+i); System.out.print(); if(first+%7=0) System.
5、out.println(); System.out.println(n);String getDay(int month,int date) Calendar c=Calendar.getInstance(); int year=c.get(Calendar.YEAR); c=new GregorianCalendar(year,month-1,date); int day=c.get(Calendar.DAY_OF_WEEK); String reday=; switch(day) case 1: reday=Sunday;break; case 2: reday=Monday;break;
6、 case 3: reday=Tuesday;break; case 4: reday=Wednesday;break; case 5: reday=Thursday;break; case 6: reday=Friday;break; default: reday=Saturday; return reday;int diffDate(java.util.Date date1,java.util.Date date2) return Math.abs(int)(date1.getTime()-date2.getTime()/(24*3600*1000);int inputNum() int
7、pm=0; try InputStreamReader reader=new InputStreamReader(System.in); BufferedReader input=new BufferedReader (reader); pm=Integer.parseInt(input.readLine(); catch(NumberFormatException ne) System.out.println(invalid data format.); catch(IOException e) System.out.println(exception occur.); return pm;
8、String inputDate() String pm=; try InputStreamReader reader=new InputStreamReader(System.in); BufferedReader input=new BufferedReader (reader); pm = input.readLine(); catch(IOException e) System.out.println(exception occur.); return pm;public static void main(Stringargs) MyCalendar mc = new MyCalend
9、ar(); int count=1; int mon,date2; boolean flag=true; while(count!=0) System.out.print(which of following do you want to do:(1,2,3,0)n); System.out.print(1.show calender.n); System.out.print(2.get the day of the date.n); System.out.print(3.count the days between two dates.n); System.out.print(0.exit.
10、n); count=mc.inputNum(); switch(count) case 1: System.out.print(input the month(1-12):); mon=mc.inputNum(); if(mon0) System.out.print(n); mc.showCalendar(mon); break; case 2: System.out.print(input the month:); mon=mc.inputNum(); System.out.print(input the date:); date2=mc.inputNum(); System.out.pri
11、ntln(the day of the input date is+mc.getDay(mon,date2); System.out.print(n); break; case 3: java.util.Date mydate1=new java.util.Date(); java.util.Date mydate2=new java.util.Date(); java.text.DateFormat myFormatter=new java.text.SimpleDateFormat(yyyy-MM-dd); try System.out.print(please input date on
12、e(format:year-mon-day):); String d1=mc.inputDate(); System.out.print(please input date two(format:year-mon-day):); String d2=mc.inputDate(); mydate1=myFormatter.parse(d1); mydate2=myFormatter.parse(d2); catch(ParseException pe) System.out.println(pe); System.out.println(the days between above are:+m
13、c.diffDate(mydate1,mydate2); break; case 0: System.exit(0); default: break; 三、执行结果实验二 计算器设计一、 设计思路1、设计内容(1)编写简单的java程序,并掌握java程序的基本格式与规范。(2)理解java程序结构的特点。(3)练习使用类2、设计内容用户通过键盘分别将两个操作数输入,然后通过选择所需进行的数学运算的标号来实现数学函数的运算,最后系统将返回用户所进行的数学运算的结果。3、设计步骤(1)用户分别输入两个操作数。(2)系统显示该程序所包含的所有的数学函数,并提醒用户选择所需数学函数。(3)根据用户所
14、提供的操作数以及数学函数,系统将运算结果输出。二、代码实现通过本次程序的设计,我进一步学习了java中所包含的基本的类以及其所对应的方法,巩固了所学的内容,受益匪浅。同时,我也意识到自身还存在一些不足,在后续的学习中我一定会认真的去更正。附加文档: import java.util.Scanner;import java.util.Random;public class MathNumber1 public static void main(String args) Random generator=new Random(); Scanner scan=new Scanner(System.i
15、n); double num1,num2; int n; System.out.print(请输入第一个操作数:); num1=scan.nextDouble(); System.out.println(); System.out.print(请输入第二个操作数:); num2=scan.nextDouble(); System.out.println(-);System.out.println(|1、加法运算 |); System.out.println(|2、减法运算 |); System.out.println(|3、乘法运算 |); System.out.println(|4、除法运算
16、 |); System.out.println(|5、正弦运算 |); System.out.println(|6、余弦运算 |); System.out.println(|7、正切运算 |); System.out.println(|8、以e为底+(int)num1+、+(int)num2+为指数的幂值运算|”); System.out.println(|9、以+(int)num1+为底+(int)num2+为指数的幂值运算 |”); System.out.println(|10、平方根运算 |); System.out.println(|0、退出程序 |); System.out.prin
17、tln(-); System.out.println(请选择你需要的数学函数:); n=scan.nextInt(); for(;n=0&n=0) System.out.println(int)num1+的平方根为:+(int)Math.sqrt(num1); else System.out.println(int)num1+为负值,无平方根); if(num2=0) System.out.println(int)num2+的平方根为:+(int)Math.sqrt(num2); else System.out.println(int)num2+为负值,无平方根); break; defaul
18、t:System.exit(-1); System.out.print(请输入第一个操作数:); num1=scan.nextDouble(); System.out.println(); System.out.print(请输入第二个操作数:); num2=scan.nextDouble(); System.out.println(请选择你需要的数学函数:); n=scan.nextInt(); 三、执行结果首先,系统通过程序中Scanner类的使用来实现两个操作数的输入,然后系统通过输出函数将程序中所包含的所有数学运算及其标号输出,并提醒用户选择所需数学函数,最后,系统通过调用程序中Math类中所包含的方法将数学运算的结果输出。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1