Java程序设计课程作业_第1页
Java程序设计课程作业_第2页
Java程序设计课程作业_第3页
Java程序设计课程作业_第4页
Java程序设计课程作业_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Java程序设计课程作业

第一章绪论

1、安装JavaSDK到你的电脑中。

2、选择安装一种Java开发工具到你的电脑中。Jcreater、NetBeans、Eclipse

3、编译并运行一个"HelloWorld”Java程序。

程序代码:

//

publicclassApp2_l

(

publicstaticvoidmain(String[]args)

(

System,out.printin(''helloWord");

)

)

F:\大三学习App2_l.jaua

F:\大三学习App2_l

helloWord

F:'大三学习

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

有错误,II这个运算规律是两边均为boolean型

(4)2*4&&0<2||4%2

有错误,II这个运算规律是两边均为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.printin("请依次输入十个同学的数学,英语。语文的成绩:");

for(inti=0;i<=10;i++){

System.out.printin("第"+(i+l)+”同学的数学,英语。语文的成绩:”);

stu[i].math=reader.nextlnt();

stu[i].english=reader.nextlnt();

stu[i].chinese=reader.nextlnt();

}

doublesum=0;

for(inti=0;i<10;i++)

sum=sum+stu[i].math;

floatA=(float)sum/10;

System,out.printin("数学平均成绩:"+A);

//intsum;

for(inti=0;i<10;i++)

sum=sum+stu[i].math;

floatB=(float)sum/10;

System,out.printin(〃数学平均成绩:"+B);

//intsum;

for(inti=0;i<10;i++)

sum=sum+stu[i].math;

floatC=(float)sum/10;

System,out.printin("数学平均成绩:"+C);

System.out.printin("数学不及格的成绩:“);

for(inti=0;i<10;i++)

if(stu[i].math<60)

System,out.printin(stu[i].math);

System.out.printin("及格:〃);

for(inti=0;i<10;i++)

if(stu[i].math>60)

System.out.printin(stu[i].math);

System.out.printin("优:”);

for(inti=0;i<10;i++)

if(stu[i].math>80)

System,out.printin(stu[i].math);

System.out.printin("良:”);

for(inti=0;i<10;i++)

if(stu[i].math>90)

System.out.printin(stu[i].math);

System.out.printin("英语不及格的成绩:“);

for(inti=0;i<10;i++)

if(stu[i].english<60)

System,out.println(stu[i].english);

System.out.printin(“及格:”);

for(inti=0;i<10;i++)

if(stu[i].english>60)

System,out.printin(stu[i].english);

System,out.printin(“优:”);

for(inti=0;i<10;i++)

if(stu[i].english>80)

System,out.printin(stu[i].english);

System.out.printin("良:”);

for(inti=0;i<10;i++)

if(stu[i].english>90)

System.out.printin(stu[i].english);

System.out.printin("语文不及格的成绩:“);

for(inti=0;i<10;i++)

if(stu[i].chinese<60)

System,out.printin(stu[i].Chinese);

System,out.printin(“及格:”);

for(inti=0;i<10;i++)

if(stu[i].chinese>60)

System,out.println(stu[i].Chinese);

System.out.printin(〃优:“);

for(inti=0;i<10;i++)

if(stu[i].chinese>80)

System,out.printin(stu[i].Chinese);

System,out.printin("良:");

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=l;i<=9;i++)

for(intj=l;j<=i;j++){

a[i-l]

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(,z,/+a[m][n]);

if(m==n)

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

}

}

}

运算结果:

<terminated>Test[JavaApplication]C:\ProgramFiIes\Java\jre7\bin\javaw.exe(2013年11

1*1=1

1*2=22*2=4

1*3=32*3=63*3=9

1*4=42*4=83*4=124*4=16

1*5=52*5=103*5=154*5=205*5=25

1*6=62*6=123*6=184*6=245*6=306*6=36

1*7=72*7=143*7=214*7=285*7=356*7=427*7=49

1*8=82*8=163*8=244*8=325*8=406*8=487*8=568*8=64

1*9=92*9=183*9=274*9=365*9=456*9=547*9=638*9=729*9=81

4、有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个

月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?

5、打印出所有的〃水仙花数〃,所谓〃水仙花数〃是指一个三位数,其各位数字立

方和等于该数本身。例如:153是一个〃水仙花数〃,因为153=1的三次方+5的

三次方+3的三次方。

第三章Java面向对象

1、为某研究所编写一个通用程序,用来计算每一种交通工具运行1000公里所需

的时间,已知每种交通工具的参数都是3个整数A、B、C的表达式。现有两种工

具:Car007和Plane,其中Car007的速度运算公式为:A*B/C,Plane的速度

运算公式为:A+B+Co需要编写三类:ComputeTime.java,Plane,java,

Car007.java和接口Common.java,要求在未来如果增加第3种交通工具的时候,

不必修改以前的任何程序,只需要编写新的交通工具的程序。其运行过程如下,

从命令行输入ComputeTime的四个参数,第一个是交通工具的类型,第二、三、

四个参数分别时整数A、B、C,举例如下:

计算Plane的时间:“javaComputeTimePlane203040"

计算Car007的时间:"javaComputeTimeCar007233445”

如果第3种交通工具为Ship,则只需要编写Ship,java,运行时输入:”java

ComputeTimeShip223344"

提示:充分利用接口的概念,接口对象充当参数。

实例化一个对象的另外一种办法:Class.forName(str).newInstanceO;例如需

要实例化一个Plane对象的话,则只要调用

Class.forName("Plane").newlnstance()便可。

interfaceCommon{

abstractdoublegetv(inta,intb,intc);

)

classCar007implementsCommon{

publicdoublegetv(inta,intb,intc){

if(c==0){

System.out.printIn(“参数C为0");

return0;}

else

returna*b/c;

}

}

classPlaneimplementsCommon(

publicdoublegetv(inta,intb,intc){

returna+b+c;

}

}

publicclasszuo31{

publicstaticvoidmain(String[]agrs){

}

2编写—"b学生类Student,要求:(1)学生类Student属性有:id:

long型,代表学号name:String类对象,代表姓名age:int型,代表年龄

sex:boolean型,代表性别(其中:true表示男,false表示女)phone:

String类对象,代表联系电话(2)学生类Student的方法有:Student(long

i,Stringn,inta,booleans,Stringp):有参构造函数,形参表中的

参数分别初始化学号、姓名、年龄、性别和联系电话。intgetAgeO():获

取年龄作为方法的返回值。booleangetSex()():获取性别作为方法的返

回值。StringgetPhone():获取联系电话作为方法的返回值。public

StringtoString():以姓名:联系电话的形式作为方法的返回值。

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.printin("该同学的姓名是“+r.name+”学号:"+r.id+"年龄:

"+age+〃性别:〃+s+〃电话:〃+phone);

np=r.toString();

System,out.printin(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){

doublesi,s2,cl,c2;

triangletri=newtriangle(3,4,5);〃三角形对象

Rectanglerec=newRectangle(4,5);〃矩形对象

sl=tri.getArea();

cl=tri.getlength();

s2=rec.getAreaO;

c2=rec.getlength();

System.out.printin("三角形的面试是:"+sl+"周长是:"+cl);

System.out.printin("矩形的面试是:"+s2+"周长是:"+c2);

}

}

4、编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截

取的字符串。但是要保证汉字不被截半个,如〃我ABC〃4,应该截为〃我AB〃,输

入〃我ABC汉DEF”,6,应该输出为〃我ABC〃而不是〃我ABC+汉的半个〃。

第四章Java异常处理

1、写程序运行结果:

publicclassA{

staticintsome(){

try{

System,out.printin("try");

return1;

}

finally{

System,out.println("finally");

}

}

publicstaticvoidmain(Stringarg[]){

System,out.printin(some());

)

}

2、先从键盘输入一个十六进制数,再将其转化为十进制数,然后输出。若输入

的不是一个有效的十六进制数,则抛出异常。

importjava.util.*;

publicclassdex{

publicstaticvoidmain(String1]agrs){

Scannerreader=newScanner(System,in);

Strings;

intn,m;

System,out.printin("请输入十六进制数:“);

try(

s=reader.next();

n=Integer.parselnt(s,16);

System,out.printin(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];

intcountl=0,count2=0,count3=0;

inti=0,j=0;

Scannerreader=newScanner(System,in);

System,out.printin(”请输入十个单词:”);

for(j=0;j<word.length;j++){

word[j]=reader.next();

}

do(

if(word[i].charAt(0)==,w')

countl++;

if(word[i].1ength()==3)

count3++;

if(word[i].contains(,/or,/))

count2++;

i++;

}while(i<word.length);

System,out.printin("在这是个单词中首字母是"w"的单词总共有:

"+countl+”个〃);

System,out.printin("在这是个单词中含有"or"的单词总共有:“+count2+”个

〃);

System.out.printin("在这是个单词中长度为3的单词总共有:"+count3+”个");

}

)

2、利用随机函数产生20个10〜90之间的不重复整数,将这些数拼接在一个字

符串中,用逗号隔开(每产生一个新数,要保证在该串中不存在)。然后将字符串

中的整数分离存放到一个数组中,将数组的内容按由小到大的顺序输出。

importjava.util.Random;

publicclassrand{

publicstaticvoidmain(String[]agrs){

Randomrand=newRandom();

int[]num=newint[20];

inta;

for(inti=0;i〈num.length;){//随机产生20个10~90之间的不重复整数

a=rand.nextlnt();

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<num.length;i++){

System.out.print(num[i]+,,”);

s=s+num[i];}

System.out.printin("\n链接成字符串后的结果时:\n"+s);

inttem;

for(inti=0;i<num.length;i++){//排序

tem=num[i];

for(intj=i+l;j<num.length;j++){

if(num[j]<tem){

tem=num[j];

num[j]=num[i];

num[i]=tem;}

}

}

System.out.print("排序后的结果时:\n");

for(inti=0;i<num.length;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];〃数组对象

Stringa,b;

System.out.printin(〃请输入十个人的姓名以及他们的电话:“);

for(inti=0;i<p.length;i++){〃输入是个人的姓名及电话,并

保存

a=reader.next();

b=reader.next();

peoples=newpeople(a,b);

p[i]=s;

}

Strings=";

System,out.printin("请输入要查找的人的姓名");

s=reader.next();

for(inti=0;i<p.length;i++){〃判断某人是否在该电话簿

if(s.equals(p[i].name)){

System,out.printIn("该人的电话是号码是:"+p[i].number);

break;}

else

{System.out.printIn("没有此人的电话“);break;}

}

}

}

4、编写一个日历,按照格式yyyy-MM-dd输入一个指定日期,可以显示当月的日

历,该指定日期前面加*以示是你输入的日期。

第六章Java输入输出

1、说明程序功能:

importjava.io.*;

publicclassCharWrite{

publicstaticvoidmain(Stringargs[]){

try{

fw=new("charset,txt");

for(inti=32;i<126;i++)

fw.write(i);

fw.close();

}catch(lOExceptione){}

)

}

2、先用随机函数产生出任意的20个整数,再按由小到大的顺序排序,然后将结

果写入一个文件中,最后从该文件中读出后显示出来。请分别用顺序文件和随机

文件的读写形式进行编程测试。

3、统计一个文本文件中单词的个数。文本文件的名字从命令行中获得。

第七章Java图形用户界面

1、阅读下面的程序,回答问题。

importjava.awt.*;

importjavax.swing.*;

publicclassTextendsJFrame(

publicT(){

super("GridLayout");

Containercon=this.getContentPane();

con.setLayout(newGridLayout(2,3));

con.add(newJButton("a"));

con.add(newJButton("b"));

con.add(newJButton("c"));

con.add(newJButton("d"));

con.add(newJButton("e"));

con.add(newJButton("f"));

setSize(200,80);

setVisible(true);

}

publicstaticvoidmain(Stringargs[]){

newT();

1

画图表示程序运行后的图形界面。

如果程序通过实现某个接口处理按钮的动作事件,则该接口名为何?接口中的

方法头声明如何?

2、编写一个简单的计算器,要求图形用户界面如下图所示。

3、请编写一个简单的用户登录程序。要求使用图形用户界面,用户名和密码假

定均为java,且密码输入时全部显示为星号(*)。

4、编写一个显示六个标签的框架,将标签前景

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论