Java程序设计课程作业.docx
- 文档编号:5884048
- 上传时间:2023-01-01
- 格式:DOCX
- 页数:22
- 大小:60.23KB
Java程序设计课程作业.docx
《Java程序设计课程作业.docx》由会员分享,可在线阅读,更多相关《Java程序设计课程作业.docx(22页珍藏版)》请在冰豆网上搜索。
Java程序设计课程作业
Java程序设计课程作业
第一章绪论
1、安装JavaSDK到你的电脑中。
2、选择安装一种Java开发工具到你的电脑中。
Jcreater、NetBeans、Eclipse
3、编译并运行一个“HelloWorld”Java程序。
程序代码:
//filename:
App2_1.Java
publicclassApp2_1
{
publicstaticvoidmain(String[]args)
{
System.out.println("helloWord");
}
}
4、编译并运行一个JavaApplet程序。
答:
编译成功,不过浏览器不显示自己的Applet程序,还在学习中,错误的原因是自己电脑上java的安全设置的原因,修改后运行成功。
第二章Java语法基础
1、下列表达式是否有错?
若有错,请说明何处出现何种错误;若无错,请给出其值。
(1)3+4<<2^-8
没有错误,运行结果为-28
(2)36>>2*4&48<<8/4+2
运行结果为0
(3)"abc"+123||8<<2
有错误,||这个运算规律是两边均为boolean型
(4)2*4&&0<2||4%2
有错误,||这个运算规律是两边均为boolean型
2、任意准备一份学生成绩表,其中包括至少3门课程、每门课程至少10名同学的成绩。
请编写程序完成以下功能:
(1)统计并输出各门课程的平均成绩。
(2)输出等级表:
优、良、中、及格与不及格。
importjava.util.*;
classstudent{
Stringnum;
doublemath;
doubleenglish;
doublechinese;
}
publicclassTest{
publicstaticvoidmain(String[]agrs){
studentstu[]=newstudent[11];
for(inti=0;i<10;i++)
stu[i]=newstudent();
Scannerreader=newScanner(System.in);
System.out.println("请依次输入十个同学的数学,英语。
语文的成绩:
");
for(inti=0;i<=10;i++){
System.out.println("第"+(i+1)+"同学的数学,英语。
语文的成绩:
");
stu[i].math=reader.nextInt();
stu[i].english=reader.nextInt();
stu[i].chinese=reader.nextInt();
}
doublesum=0;
for(inti=0;i<10;i++)
sum=sum+stu[i].math;
floatA=(float)sum/10;
System.out.println("数学平均成绩:
"+A);
//intsum;
for(inti=0;i<10;i++)
sum=sum+stu[i].math;
floatB=(float)sum/10;
System.out.println("数学平均成绩:
"+B);
//intsum;
for(inti=0;i<10;i++)
sum=sum+stu[i].math;
floatC=(float)sum/10;
System.out.println("数学平均成绩:
"+C);
System.out.println("数学不及格的成绩:
");
for(inti=0;i<10;i++)
if(stu[i].math<60)
System.out.println(stu[i].math);
System.out.println("及格:
");
for(inti=0;i<10;i++)
if(stu[i].math>60)
System.out.println(stu[i].math);
System.out.println("优:
");
for(inti=0;i<10;i++)
if(stu[i].math>80)
System.out.println(stu[i].math);
System.out.println("良:
");
for(inti=0;i<10;i++)
if(stu[i].math>90)
System.out.println(stu[i].math);
System.out.println("英语不及格的成绩:
");
for(inti=0;i<10;i++)
if(stu[i].english<60)
System.out.println(stu[i].english);
System.out.println("及格:
");
for(inti=0;i<10;i++)
if(stu[i].english>60)
System.out.println(stu[i].english);
System.out.println("优:
");
for(inti=0;i<10;i++)
if(stu[i].english>80)
System.out.println(stu[i].english);
System.out.println("良:
");
for(inti=0;i<10;i++)
if(stu[i].english>90)
System.out.println(stu[i].english);
System.out.println("语文不及格的成绩:
");
for(inti=0;i<10;i++)
if(stu[i].chinese<60)
System.out.println(stu[i].chinese);
System.out.println("及格:
");
for(inti=0;i<10;i++)
if(stu[i].chinese>60)
System.out.println(stu[i].chinese);
System.out.println("优:
");
for(inti=0;i<10;i++)
if(stu[i].chinese>80)
System.out.println(stu[i].chinese);
System.out.println("良:
");
for(inti=0;i<10;i++)
if(stu[i].chinese>90)
System.out.println(stu[i].chinese);
}
}
3、编写程序,用数组存储并输出乘法九九表。
//编写程序,用数组存储并输出乘法九九表
publicclassTest{
publicstaticvoidmain(String[]agrs){
int[][]a=newint[9][9];
for(inti=1;i<=9;i++)
for(intj=1;j<=i;j++){
a[i-1][j-1]=i*j;
System.out.print(j+"*"+i+"="+i*j+"");
if(i==j)
System.out.print("\n");}
intn;
for(intm=0;m<9;m++){
for(n=0;n<=m;n++){
System.out.print(""+a[m][n]);
if(m==n)
System.out.print("\n");}
}
}
}
运算结果:
4、有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
5、打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。
例如:
153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
第三章Java面向对象
1、为某研究所编写一个通用程序,用来计算每一种交通工具运行1000公里所需的时间,已知每种交通工具的参数都是3个整数A、B、C的表达式。
现有两种工具:
Car007和Plane,其中Car007的速度运算公式为:
A*B/C,Plane的速度运算公式为:
A+B+C。
需要编写三类:
ComputeTime.java,Plane.java,Car007.java和接口Common.java,要求在未来如果增加第3种交通工具的时候,不必修改以前的任何程序,只需要编写新的交通工具的程序。
其运行过程如下,从命令行输入ComputeTime的四个参数,第一个是交通工具的类型,第二、三、四个参数分别时整数A、B、C,举例如下:
计算Plane的时间:
"javaComputeTimePlane203040"
计算Car007的时间:
"javaComputeTimeCar007233445"
如果第3种交通工具为Ship,则只需要编写Ship.java,运行时输入:
"javaComputeTimeShip223344"
提示:
充分利用接口的概念,接口对象充当参数。
实例化一个对象的另外一种办法:
Class.forName(str).newInstance();例如需要实例化一个Plane对象的话,则只要调用Class.forName("Plane").newInstance()便可。
interfaceCommon{
abstractdoublegetv(inta,intb,intc);
}
classCar007implementsCommon{
publicdoublegetv(inta,intb,intc){
if(c==0){
System.out.println("参数C为0");
return0;}
else
returna*b/c;
}
}
classPlaneimplementsCommon{
publicdoublegetv(inta,intb,intc){
returna+b+c;
}
}
publicclasszuo31{
publicstaticvoidmain(String[]agrs){
}
}
2、编写一个学生类Student,要求:
(1)学生类Student属性有:
id:
long型,代表学号name:
String类对象,代表姓名age:
int型,代表年龄sex:
boolean型,代表性别(其中:
true表示男,false表示女)phone:
String类对象,代表联系电话
(2)学生类Student的方法有:
Student(longi,Stringn,inta,booleans,Stringp):
有参构造函数,形参表中的参数分别初始化学号、姓名、年龄、性别和联系电话。
intgetAge()():
获取年龄作为方法的返回值。
booleangetSex()():
获取性别作为方法的返回值。
StringgetPhone():
获取联系电话作为方法的返回值。
publicStringtoString():
以姓名:
联系电话的形式作为方法的返回值。
classStudent{
longid;//代表学号
Stringname;//代表姓名
intage;//代表年龄
booleansex;//代表性别(其中:
true表示男,false表示女)
Stringphone;//,代表联系电话
Student(longi,Stringn,inta,booleans,Stringp){
id=i;
age=a;
name=n;
sex=s;
phone=p;
}
intgetAge(){
returnage;
}
booleangetSex(){
returnsex;
}
StringgetPhone(){
returnphone;
}
publicStringtoString(){
returnname+phone;//以姓名:
联系电话的形式作为方法的返回值。
}
}
publicclassTest{
publicstaticvoidmain(String[]agrs){
Strings,phone,np;
intage;
Studentr=newStudent(201108011,"郭文杰",20,false,"");
booleana=r.getSex();
if(a==true)
s="男";
else
s="女";
age=r.getAge();
phone=r.getPhone();
System.out.println("该同学的姓名是"+r.name+"学号:
"+r.id+"年龄:
"+age+"性别:
"+s+"电话:
"+phone);
np=r.toString();
System.out.println(np);
}
}
3、利用接口编写三角形、矩形的面积和周长的程序。
interfaceShape{//接口
abstractdoublegetArea();
abstractdoublegetlength();
}
classRectangleimplementsShape{//长方形的类
privatedoublea;
privatedoubleb;
publicRectangle(doublei,doublej){
a=i;
b=j;
}
publicdoublegetArea(){
returna*b;
}
publicdoublegetlength(){
return2*(a+b);
}
}
classtriangleimplementsShape{//三角形的类
doublea,b,c;
doublep;
publictriangle(doublei,doublej,doublek){
a=i;
b=j;
c=k;
}
publicdoublegetArea(){
p=(double)(Math.round(a+b+c)/2.0);//将p保留小数位
returnjava.lang.Math.sqrt(p*(p-a)*(p-b)*(p-c));//三角形面积公式
}
publicdoublegetlength(){
returna+b+c;
}
}
publicclasszuoye3{
publicstaticvoidmain(String[]agrs){
doubles1,s2,c1,c2;
triangletri=newtriangle(3,4,5);//三角形对象
Rectanglerec=newRectangle(4,5);//矩形对象
s1=tri.getArea();
c1=tri.getlength();
s2=rec.getArea();
c2=rec.getlength();
System.out.println("三角形的面试是:
"+s1+"周长是:
"+c1);
System.out.println("矩形的面试是:
"+s2+"周长是:
"+c2);
}
}
4、编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。
但是要保证汉字不被截半个,如"我ABC"4,应该截为"我AB",输入"我ABC汉DEF",6,应该输出为"我ABC"而不是"我ABC+汉的半个"。
第四章Java异常处理
1、写程序运行结果:
publicclassA{
staticintsome(){
try{
System.out.println("try");
return1;
}
finally{
System.out.println("finally");
}
}
publicstaticvoidmain(Stringarg[]){
System.out.println(some());
}
}
2、先从键盘输入一个十六进制数,再将其转化为十进制数,然后输出。
若输入的不是一个有效的十六进制数,则抛出异常。
importjava.util.*;
publicclassdex{
publicstaticvoidmain(String[]agrs){
Scannerreader=newScanner(System.in);
Strings;
intn,m;
System.out.println("请输入十六进制数:
");
try{
s=reader.next();
n=Integer.parseInt(s,16);
System.out.println(n);
}
catch(InputMismatchExceptione){
e.printStackTrace();}
}
}
3、先编写一个方法,它将格式为“yyyy/mm/dd”形式的日期字符串转化为日期对象。
若日期字符串不符合以上规定,则抛出异常。
再在main方法中对正常和异常输入的日期字符串分别进行验证,并输出转换后的日期对象。
第五章Java常见类
1、设有一个由10个英文单词构成的字符串数组,要求:
(1)统计以字母“w”开头的单词数;
(2)统计单词中含“or”字符串的单词数;
(3)统计长度为3的单词数。
代码是:
importjava.util.*;
publicclassArray{
publicstaticvoidmain(String[]agrs){
String[]word=newString[10];
intcount1=0,count2=0,count3=0;
inti=0,j=0;
Scannerreader=newScanner(System.in);
System.out.println("请输入十个单词:
");
for(j=0;j word[j]=reader.next(); } do{ if(word[i].charAt(0)=='w') count1++; if(word[i].length()==3) count3++; if(word[i].contains("or")) count2++; i++; }while(i System.out.println("在这是个单词中首字母是“w”的单词总共有: "+count1+"个"); System.out.println("在这是个单词中含有“or”的单词总共有: "+count2+"个"); System.out.println("在这是个单词中长度为3的单词总共有: "+count3+"个"); } } 2、利用随机函数产生20个10~90之间的不重复整数,将这些数拼接在一个字符串中,用逗号隔开(每产生一个新数,要保证在该串中不存在)。 然后将字符串中的整数分离存放到一个数组中,将数组的内容按由小到大的顺序输出。 importjava.util.Random; publicclassrand{ publicstaticvoidmain(String[]agrs){ Randomrand=newRandom(); int[]num=newint[20]; inta; for(inti=0;i a=rand.nextInt(); intb=a%90; for(intj=i;j>=0;j--){ if(b==num[j])b=0;} if(b>10){ num[i]=b; i++;} } Strings=""; System.out.print("产生的20个随机数是\n"); for(inti=0;i System.out.print(num[i]+""); s=s+num[i];} System.out.println("\n链接成字符串后的结果时: \n"+s); inttem; for(inti=0;i tem=num[i]; for(intj=i+1;j if(num[j] tem=num[j]; num[j]=num[i]; num[i]=tem;} } } System.out.print("排序后的结果时: \n"); for(inti=0;i System.out.print(num[i]+""); } } 3、先任意输入不超过10个人的姓名和电话到电话簿,然后从电话簿中查询指定人的电话。 importjava.util.*; classpeople{//建立类包含姓名与电话 Stringname,number; publicpeople(Stringn,Stringm){ name=n; number=m; } } publicclassphonenum{ publicstaticvoidmain(String[]agrs){ Scannerreader=newScanner(System.in); people[]p=newpeople[10];//数组对象 Str
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 程序设计 课程 作业