2011/2012(一)学期《Java程序设计》课程作业参考代码浙江工业大学计算机科学与技术学院赵小敏2.1编写一个程序,打印100~200之间的素数,要求每行按10个数(数与数之间有一个空格间隔)的形式对其输出。publicclassExe2_2{publicstaticvoidmain(String[]args){booleanisPrime=true;intprimeNumber=0;//素数个数for(inti=101;i200;i++){//判断i是否为素数for(intj=2;j=(int)Math.sqrt(i);j++){if(i%j!=0){continue;}else{isPrime=false;break;}}if(isPrime){primeNumber++;System.out.print(i+);if(primeNumber%10==0){System.out.println();}}else{isPrime=true;}}}}2.2编写一个编程,给定一个t的值(t的值也可通过命令行输入),按下式计算y值并输出,要求分别写作if语句和switch语句。t2-10≤t<1t3-2·t-21≤t<3y=t2-t·sint3≤t<5t+15≤t<7t-1其它解:有两种方法可实现题目给定的getY:方法一:若采用if语句实现,参考代码如下:classTest{publicstaticvoidmain(Stringargs[]){2011/2012(一)学期《Java程序设计》课程作业参考代码浙江工业大学计算机科学与技术学院赵小敏doubley=Double.parseDouble(args[0])Testt=newTest();t.getY(y);}publicdoublegetY(doublet){doubley=0.0;if(t=0&&t1)y=t*t-1;elseif(t=1&&t3)y=t*t*t-2*t-3;elseif(t=3&&t5)y=t*t-t*Math.cos(t);elseif(t=5&&t7)y=t+1;elsey=t-1;returny;}}或者用如下方法实现:publicclassExeIF{publicstaticvoidmain(Stringargs[]){doublet,y;t=2.5;//t=Double.parseDouble(args[0]);y=0.0;if(t=0&&t1){y=Math.pow(t,2.0)-1;}elseif(t=1&&t3){y=Math.pow(t,3.0)-2*t-2;}elseif(t=3&&t5){y=Math.pow(t,2.0)-t*Math.sin(t);}elseif(t=5&&t7){y=++t;}else{y=--t;}System.out.println(y=+y);}}方法二:若采用switch语句实现,参考代码如下:2011/2012(一)学期《Java程序设计》课程作业参考代码浙江工业大学计算机科学与技术学院赵小敏classTest{publicstaticvoidmain(Stringargs[]){doubley=Double.parseDouble(args[0])Testt=newTest();t.getY(y);}publicdoublegetY(doublet){doubley=0.0;switch((int)t){case0:y=t*t-1;break;case1:case2:y=t*t*t-2*t-3;break;case3:case4:y=t*t-t*Math.cos(t);break;case5:case6:y=t+1;break;default:y=t-1;}returny;}}或者用如下方法实现:publicclassExeSwitch{publicstaticvoidmain(Stringargs[]){doublet,y;t=2.5;y=0.0;switch((int)t){case0:y=Math.pow(t,2.0)-1;break;case1:case2:y=Math.pow(t,3.0)-2*t-2;break;case3:case4:y=Math.pow(t,2.0)-t*Math.sin(t);break;case5:case6:y=++t;break;default:y=--t;}System.out.println(y=+y);}}3.1、根据以下的设计要求编写java源代码。类名:Teacher2011/2012(一)学期《Java程序设计》课程作业参考代码浙江工业大学计算机科学与技术学院赵小敏实例数据(均为private):name(String)//姓名teacherID(int)//工号方法:构造方法(没有参数,设置姓名为“无名氏”,年龄为20)setName(有一个名为name的String型参数,将name的值设为这个新值),getName(没有参数,返回姓名)setTeacherID(有一个名为tID的int型参数,将teacherID的值设为这个新值),getTeacherID(没有参数,返回工号)publicclassTeacher{privateStringname;privateintteacherID;publicTeacher(){name=无名氏;intage=20;}publicvoidsetName(Stringname){this.name=name;}publicStringgetName(){returnthis.name;}publicvoidsetTeacherID(inttID){teacherID=tID;}publicintgetTeacherID(){returnteacherID;}2011/2012(一)学期《Java程序设计》课程作业参考代码浙江工业大学计算机科学与技术学院赵小敏publicstaticvoidmain(Stringargs[])//实例化测试{Teacherleader=newTeacher();System.out.println(leader.getName());leader.setTeacherID(2010);System.out.println(leader.getTeacherID());}}3.2创建一个名为Rectangle的类来表示一个使用宽度和高度来改变量的矩形,矩形的宽度和高度由构造方法来确定。为Rectangle类创建下列方法:①getArea返回矩形的面积,要求长和高的范围为0~50;②getPerimeter返回矩形的周长;③drawRect使用星号(*)作为描绘字符画出该矩形的形状(假设宽度和高度为整数);在另一个类TestRectangle中编写main方法来测试Rectangle类。解:参考代码如下:classRectangle{privateintwidth,height;publicRectangle(intw,inth){width=w;height=h;}publicRectangle(){width=4;height=5;}publicintgetWidth(){returnwidth;}publicintgetHeight(){returnheight;}publicvoidsetWidth(intw){if(w0&&w30){width=w;}else{System.out.println(InvalidWidth);}2011/2012(一)学期《Java程序设计》课程作业参考代码浙江工业大学计算机科学与技术学院赵小敏}publicvoidsetHeight(inth){if(h0&&h30){height=h;}else{System.out.println(Invalidheight);}}publicintgetPerimeter(){returnwidth+width+height+height;}publicintgetArea(){returnwidth*height;}publicvoiddraw(){for(introwCounter=0;rowCounterheight;rowCounter++){for(intcolCounter=0;colCounterwidth;colCounter++)if(rowCounter==0||(rowCounter==height-1)){System.out.print(*);}else{if(colCounter==0||colCounter==width-1){System.out.print(*);}else{System.out.print();}}System.out.println();}//endfor}//enddraw}//endclassclassTestRectangle{publicstaticvoidmain(Stringargs[]){Rectangler1=newRectangle();Rectangler2=newRectangle();r1.setWidth(15);r1.setHeight(5);r2.setWidth(20);2011/2012(一)学期《Java程序设计》课程作业参考代码浙江工业大学计算机科学与技术学院赵小敏r2.setHeight(7);System.out.println(Thisisthefirstrectangle:);r1.draw();System.out.println(Theareais+r1.getArea());System.out.println(Thisisthesecondrectangle:);r2.draw();System.out.println(Theareais+r2.getArea());}//endmain}//endclass3.3编写一个汽车类Car。Car具有以下属性:品牌:brand,类型为String;发动机排量:engineDisplacement,类型为double;速度:speed,类型为double;状态:status,类型为boolean;最高时速:maxSpeed,类型为double。Car具有以下方法:构造方法:Car(Stringbrand,doubleengineDisplacement,doublemaxSpeed),该方法使用参数设置成员变量的值。启动:start(),该方法使得status的值变成true;加速:speedUp(),当汽车处于启动状态时,该方法每调用一次,速度增加5,但速度不得高于最高时速。减速:slowDown(),当汽车处于启动状态时,该方法每调用一次,速度减5,但速度不得小于0。熄火:stop(),当speed为零时,将status的值变成false。每个方法除了改变成员变量的之外,还要打印出方法执行后的状态和速度。编写main方法实例化一个Car对象,其品牌为红旗,排量为2.0,最高时速为160.00,启动该汽车,加速到120,再减速到0,最后熄火。publicclassCar{privateStringbrand;privatedoubleengineDisplacement;privatedoublespeed=0;privatebooleanstatus;privatedoublemaxSpeed;publicCar(Stringbrand,doubleengineDisplacement,doublemaxSpeed){this.brand=brand;this.engineDisplacement=engineDisplacement;this.maxSpeed=maxSpeed;2011/2012(一)学期《Java程序设计》课程作业参考代码浙江工业大学计算机科学