如王企鹅.docx

上传人:b****4 文档编号:11865987 上传时间:2023-04-06 格式:DOCX 页数:13 大小:115.16KB
下载 相关 举报
如王企鹅.docx_第1页
第1页 / 共13页
如王企鹅.docx_第2页
第2页 / 共13页
如王企鹅.docx_第3页
第3页 / 共13页
如王企鹅.docx_第4页
第4页 / 共13页
如王企鹅.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

如王企鹅.docx

《如王企鹅.docx》由会员分享,可在线阅读,更多相关《如王企鹅.docx(13页珍藏版)》请在冰豆网上搜索。

如王企鹅.docx

如王企鹅

 

JAVA课程设计

 

学院:

信息工程学院

班级:

计算机科学与技术2班

学号:

2013051229

姓名:

陶雅萍

指导老师:

杨芳萍

 

实验一

——制作月历

一、设计思路

1、设计要求:

(1)输入一个月份,屏幕上输出这个月的月历,每星期一行,星期日是第一天,到星期六结束。

(2)用户任意输入一个日期,屏幕上显示是星期几。

(3)盘上输入两个日期,计算着两个日期之间含有多少天。

2、设计要点:

练习运用相关方法和类的使用,尤其是日历类中日期和日历方法的使用,以及子类和父类之间的继承。

3、设计思路:

首先,在程序中,需要使用日历类的实例,构造一个日历类。

再将一年的12个月的天数和一周的天数名称分别保存在整型、字符串数组days中。

然后,用户通过键盘直接输入年份和月份,用DAY_OF_WEEK表示一周的第几天,从星期日开始,依次是1、2、3、4、5、6、7分别对应数组days中的每一项。

最后,编写main方法,实现方法、各个类的应用。

二、代码实现

importjava.util.*;

importjava.io.*;

importjava.util.Date.*;

importjava.text.*;

importjava.text.DateFormat.*;

importjava.text.SimpleDateFormat.*;

 

publicclassMyCalendarextendsGregorianCalendar

{

voidshowCalendar(intmonth)

{

int[]days={31,28,31,30,31,30,31,31,30,31,30,31};

Calendarc=Calendar.getInstance();

intyear=c.get(Calendar.YEAR);

intdate=c.get(Calendar.DATE);

c=newGregorianCalendar(year,month-1,date);

if((year%4==0&&year%100!

=0||year%400==0)&&month==2)

days[1]++;

//闰年的2月份天数

System.out.println("-----Calendar:

"+year+"-"+month+"------\n");

System.out.println("SUNMONTUEWEDTHUFRISAT");

c.set(DATE,1);

intfirst=c.get(Calendar.DAY_OF_WEEK);

inti;

for(i=1;i

for(i=1;i<=days[month-1];i++)

{

if(i<10)

System.out.print("");

System.out.print(""+i);

System.out.print("");

if(first++%7==0)

System.out.println("");

}

System.out.println("\n");

}

 

StringgetDay(intmonth,intdate)

{

Calendarc=Calendar.getInstance();

intyear=c.get(Calendar.YEAR);

c=newGregorianCalendar(year,month-1,date);

intday=c.get(Calendar.DAY_OF_WEEK);

Stringreday="";

switch(day)

{

case1:

reday="Sunday";break;

case2:

reday="Monday";break;

case3:

reday="Tuesday";break;

case4:

reday="Wednesday";break;

case5:

reday="Thursday";break;

case6:

reday="Friday";break;

default:

reday="Saturday";

}

returnreday;

}

intdiffDate(java.util.Datedate1,java.util.Datedate2)

{

returnMath.abs((int)((date1.getTime()-date2.getTime())/(24*3600*1000)));

}

intinputNum()

{

intpm=0;

try

{

InputStreamReaderreader=newInputStreamReader(System.in);

BufferedReaderinput=newBufferedReader(reader);

pm=Integer.parseInt(input.readLine());

}catch(NumberFormatExceptionne)

{System.out.println("invaliddataformat...");

}catch(IOExceptione)

{

System.out.println("exceptionoccur...");

}

returnpm;

}

 

StringinputDate()

{

Stringpm="";

try

{

InputStreamReaderreader=newInputStreamReader(System.in);

BufferedReaderinput=newBufferedReader(reader);

pm=input.readLine();

}catch(IOExceptione)

{

System.out.println("exceptionoccur...");

}

returnpm;

}

 

publicstaticvoidmain(String[]args)

{

MyCalendarmc=newMyCalendar();

intcount=1;

intmon,date2;

booleanflag=true;

while(count!

=0)

{

System.out.print("whichoffollowingdoyouwanttodo:

(1,2,3,0)\n");

System.out.print("1.showcalender.\n");

System.out.print("2.getthedayofthedate.\n");

System.out.print("3.countthedaysbetweentwodates.\n");

System.out.print("0.exit.\n");

count=mc.inputNum();

switch(count)

{

case1:

System.out.print("inputthemonth(1-12):

");

mon=mc.inputNum();

if(mon<=12&&mon>0)

{

System.out.print("\n");

mc.showCalendar(mon);

}

break;

case2:

System.out.print("inputthemonth:

");

mon=mc.inputNum();

System.out.print("inputthedate:

");

date2=mc.inputNum();

System.out.println("thedayoftheinputdateis"+mc.getDay(mon,date2));

System.out.print("\n");

break;

case3:

java.util.Datemydate1=newjava.util.Date();

java.util.Datemydate2=newjava.util.Date();

java.text.DateFormatmyFormatter=newjava.text.SimpleDateFormat("yyyy-MM-dd");

try

{

System.out.print("pleaseinputdateone(format:

year-mon-day):

");

Stringd1=mc.inputDate();

System.out.print("pleaseinputdatetwo(format:

year-mon-day):

");

Stringd2=mc.inputDate();

mydate1=myFormatter.parse(d1);

mydate2=myFormatter.parse(d2);

}catch(ParseExceptionpe)

{

System.out.println(pe);

}

System.out.println("thedaysbetweenaboveare:

"+mc.diffDate(mydate1,mydate2));

break;

case0:

System.exit(0);

default:

break;

}

}

}

}

三、执行结果

 

实验二

——计算器设计

一、设计思路

1、设计内容

(1)编写简单的java程序,并掌握java程序的基本格式与规范。

(2)理解java程序结构的特点。

(3)练习使用类

2、设计内容

用户通过键盘分别将两个操作数输入,然后通过选择所需进行的数学运算的标号来实现数学函数的运算,最后系统将返回用户所进行的数学运算的结果。

3、设计步骤

(1)用户分别输入两个操作数。

(2)系统显示该程序所包含的所有的数学函数,并提醒用户选择所需数学函数。

(3)根据用户所提供的操作数以及数学函数,系统将运算结果输出。

二、代码实现

通过本次程序的设计,我进一步学习了java中所包含的基本的类以及其所对应的方法,巩固了所学的内容,受益匪浅。

同时,我也意识到自身还存在一些不足,在后续的学习中我一定会认真的去更正。

附加文档:

importjava.util.Scanner;

importjava.util.Random;

publicclassMathNumber1

{publicstaticvoidmain(String[]args)

{Randomgenerator=newRandom();

Scannerscan=newScanner(System.in);

doublenum1,num2;

intn;

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、除法运算|");

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.println("---------------------------------------------------------------");

System.out.println("请选择你需要的数学函数:

");

n=scan.nextInt();

for(;n>=0&&n<=10;)

{

switch(n)

{case1:

System.out.println((int)num1+"+"+(int)num2+"="+(int)(num1+num2));

break;

case2:

System.out.println((int)num1+"-"+(int)num2+"="+(int)(num1-num2));

break;

case3:

System.out.println((int)num1+"*"+(int)num2+"="+(int)(num1*num2));

break;

case4:

System.out.println((int)num1+"/"+(int)num2+"="+(int)(num1/num2));

break;

case5:

System.out.println("sin("+(int)num1+")"+"="+Math.sin(num1));

System.out.println("sin("+(int)num2+")"+"="+Math.sin(num2));

break;

case6:

System.out.println("cos("+(int)num1+")"+"="+Math.cos(num1));

System.out.println("cos("+(int)num2+")"+"="+Math.cos(num2));

break;

case7:

System.out.println("tan("+(int)num1+")"+"="+Math.tan(num1));

System.out.println("tan("+(int)num2+")"+"="+Math.tan(num2));

break;

case8:

System.out.println("e^"+(int)num1+"="+Math.exp(num1));

System.out.println("e^"+(int)num2+"="+Math.exp(num2));

break;

case9:

System.out.println((int)num1+"^"+(int)num2+"="+(int)Math.pow(num1,num2));

break;

case10:

if(num1>=0)

System.out.println((int)num1+"的平方根为:

"+(int)Math.sqrt(num1));

elseSystem.out.println((int)num1+"为负值,无平方根");

if(num2>=0)

System.out.println((int)num2+"的平方根为:

"+(int)Math.sqrt(num2));

elseSystem.out.println((int)num2+"为负值,无平方根");

break;

default:

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