还剩15页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
上机作业要求请根据题目的要求,将题目答案、程序源代码、运行结果截图统一填入本word文档中,并将本文档更名为“J__a_学号_姓名_Lab
1.doc”在第3周周日24:00之前以附件的形式发送到,邮件的题目设置为“J__a_学号_姓名_上机1”请严格按照以上名称发送邮件,否则邮箱自动拒收,视为未交该次作业《J__a程序设计》上机题
(一)
1.J__a___能跨平台运行?请简述原理答因为J__a程序编译之后的代码不是能被硬件系统直接运行的代码,而是一种“中间码”——字节码然后不同的硬件平台上__有不同的J__a虚拟机JVM,由JVM来把字节码再“翻译”成所对应的硬件平台能够执行的代码因此对于J__a编程者来说,不需要考虑硬件平台是什么所以J__a可以跨平台
2.请尝试__和配置JDK,并给出__、配置JDK的步骤答
(1)双击下载的__文件启动__程序,__程序会开始准备__
(2)准备好后,会看到“许可证协议”对话框,单击“接受”按钮弹出“自定义__”对话框可以更改__位置,单击“下一步”按钮继续然后会看到__进度对话框中途出现JRE自定义__对话框,单击下一步按钮继续之后是__进度对话框__结束配置环境变量,首先右击“我的电脑”,在弹出的快捷菜单中选择“属性”命令,弹出“系统属性”对话框选择“高级”标签,进入“高级”选项卡找到“环境变量”按钮单击“系统变量”面板下的“编辑”按钮,在弹出的“编辑系统变量”对话框中,将光标移到“变量值”文本框的最前端,将“JDK__目录\bin;”添加到里面修改完毕后单击“确定”按钮这是会回到“环境变量”对话框单击“系统变量”面板中的添加按钮,在弹出的“新建系统变量”对话框中添加CLASSPATH变量,变量的值为“.;C:\ProgramFiles\J__a\jdk
1.
6.0_14\lib”也就是“.”+“;”+“JDK__目录”+“\lib”添加完毕后单击“确定”按钮,回到“环境变量”对话框然后再单击“系统变量”面板中的“添加”按钮,在弹出的“编辑系统变量”对话框中添加J__A_HOME变量,变量值为“C:\ProgramFiles\J__a\jdk
1.
6.0_14”也就是“JDK__目录”
(11)添加完毕后单击“确定”按钮,回到“环境变量”对话框单击“环境变量”对话框最__的“确定”按钮完成对环境变量的修改和添加
3.请问配置JDK时环境变量path和CLASSPATH的作用是什么?答
1.PATH环境变量作用是指定命令搜索路径,在i命令行下面执行命令如j__ac编译j__a程序时,它会到PATH变量所指定的路径中查找看是否能找到相应的命令程序我们需要把jdk__目录下的bin目录增加到现有的PATH变量中,bin目录中包含经常要用到的可执行文件如j__ac/j__a/j__adoc等待,设置好PATH变量后,就可以在任何目录下执行j__ac/j__a等工具了
2.CLASSPATH环境变量作用是指定类搜索路径,要使用已经编写好的类,前提当然是能够找到它们了,JVM就是通过CLASSPTH来寻找类的我们需要把jdk__目录下的lib子目录中的dt.jar和tools.jar设置到CLASSPATH中,当然,当前目录“.”也必须加入到该变量中以下4-7题请在JDK环境下编译和运行
4.利用文本编辑器输入课件《第一节J__a语言简介》中的MyJ__aApplication.j__a,并在JDK环境下编译和运行请将程序编译、运行的结果截图,填入下框中
5.如果第4题中在DOS命令下输入j__aMyJ__aApplication出现以下结果Badcom__ndorthefilename可能是什么原因?请说明理由答错误的命令或文件名,说明输入的命令有问题,有可能是因为没有设置环境变量,而导致系统找不到j__a的编译软件
6.如果第4题中在DOS命令下输入j__aMyJ__aApplication出现以下结果Ex__ptioninthread“__in”MyJ__aApplication可能是什么原因?请说明理由答如果出现了以上错误提示,常见问题有如下两种1大小写写错了,2路径不正确
7.在第4题中MyJ__aApplication.class所在路径下,输入命令j__aMyJ__aApplication.class,会出现什么结果,___?答编译完生成.class文件,要执行须输入j__aMyJ__aApplication以下题目请在Eclipse环境下编译和运行
8.编写一个J__a程序,计算半径为
3.0的圆周长和__并输出结果注系统类__th位于j__a.lang包中,圆周率π可以由__th类的静态属性PI得到,其定义为“”请将源程序文本填入下框publicclassTest{publicstaticvoid__inString[]args{doubleI=
3.0;doubleperimeter=2*__th.PI*I;doublearea=I*I*__th.PI;System.out.println周长+perimeter;System.out.println__+area;}}运行结果截图
9.编写一个J__a程序,计算一下12…9这9个数字可以组成多少个互不相同的、无重复数字的三位偶数请将源程序文本填入下框publicclassThree{privateinti;privateintj;privateintk;publicintcounter{intcount=0;fori=1;i=9;i++forj=1;j=9;j++fork=2;k=8;k++{ifi!=jj!=ki!=kk%2==0{count++;}}returncount;}}classcountIt{publicstaticvoid__inString[]args{ThreemyThree=newThree;System.out.println总共有+myThree.counter+个互不相同无重复数字的三位偶数;}}运行结果截图
10.求m+mm+mmm+…+m…m(n个)的和,其中m为1~9之间的整数例如,当m=
3、n=4时,求3+33+333+3333的和要求将m和n定义为类的属性,在构造函数中对m和n进行赋值请将源程序文本填入下框importj__a.util.Scanner;publicclassrepeatNumber{privateintm;privateintn;publicrepeatNumber{Scannerscan=newScannerSystem.in;System.out.println请输入一个m1~9之间的整数;m=scan.nextInt;System.out.println请输入一个数nn=1作为加数的个数;n=scan.nextInt;}publicintSumer{intsum=0;inti=0j=0k=0;fori=1;i=n;i++{forj=1;j=i;j++{ifj==1{k=m;}elsek+=k*10;}sum+=k;k=0;}returnsum;}}classmyRepeatNumber{publicstaticvoid__inString[]args{repeatNumberTheRepeater=newrepeatNumber;System.out.println求和得到的结果是+TheRepeater.Sumer;}}运行结果截图
11.给定一个正整数m,统计m的位数,分别打印每一位数字,再按照逆序打印出各位数字要求m定义为类的属性,需定义构造函数为m赋值;当m大于99999时,输出错误信息“thenumberistoolarge”,不再执行请将源程序文本填入下框importj__a.util.Scanner;publicclassprintTheNumber{privatelongm;publicprintTheNumber{Scannerscan=newScannerSystem.in;System.out.println请输入一个正整数m:;m=scan.nextInt;}publicvoidPrintIt{int[]a;longx=m;a=newint
[100];inti=0jk=0;longh;ifm99999System.out.printlnSorrythenumberistoolarge!;else{forj=1;;j++{h=x/10;x=h;ifh==0{System.out.printlnm的位数为+j;break;}}fork=j-1;k=0;k--{a[k]=intm%10;m=m/10;}System.out.println正序输出为+\n;fori=0;ij;i++{System.out.println第+i+个数字是+a[i]+\n;}System.out.println逆序输出为+\n;fori=j-1;i=0;i--{System.out.println第+i+个数字是+a[i]+\n;}}}}classmyPrintTheNumber{publicstaticvoid__inString[]args{printTheNumberPrintItOut=newprintTheNumber;PrintItOut.PrintIt;}}运行结果截图
12.给定一个正整数m,统计m的位数,分别打印每一位数字,再按照逆序打印出各位数字要求m定义为类的属性,需定义构造函数为m赋值;m的值无限制请将源程序文本填入下框importj__a.util.Scanner;publicclassprintTheNumber{privatelongm;publicprintTheNumber{Scannerscan=newScannerSystem.in;System.out.println请输入一个正整数m:;m=scan.nextInt;}publicvoidPrintIt{int[]a;longx=m;a=newint
[100];inti=0jk=0;longh;forj=1;;j++{h=x/10;x=h;ifh==0{System.out.printlnm的位数为+j;break;}}fork=j-1;k=0;k--{a[k]=intm%10;m=m/10;}System.out.println正序输出为+\n;fori=0;ij;i++{System.out.println第+i+个数字是+a[i]+\t;}System.out.println逆序输出为+\n;fori=j-1;i=0;i--{System.out.println第+i+个数字是+a[i]+\t;}}}classmyPrintTheNumber{publicstaticvoid__inString[]args{printTheNumberPrintItOut=newprintTheNumber;PrintItOut.PrintIt;}}运行结果截图
13.编写一个学生类,该类具有属性“姓名”name、学号id、综合成绩total、体育成绩sports,构造方法、以及查询学生的综合成绩和体育成绩的方法;生的构造方法带有四个参数,分别设置学生的姓名、考号、综合成绩和体育成绩编写一个学校类,该类具有属性“录取分数线”line、构造方法、对该属性进行设置和查询的方法,以及一个判断判断某个学生是否符合该学校的录取条件的方法录取条件为综合成绩在录取分数线以上,或者体育成绩在95以上并且综合成绩大于300在该类的__in方法中,新建若干个学生对象(5个以上,应覆盖各种情况),对符合录取条件的学生,输出其相关信息及“被录取”请将源程序文本填入下框importj__a.util.Scanner;importj__a.io.*;publicclassStudent{publicStringname;publicStringid;privateintsports;privateinttotal;publicStudentthrowsIOEx__ption{Scannerscan=newScannerSystem.in;BufferedReaderbr=newBufferedReadernewInputStreamReaderSystem.in;System.out.println请输入该学生的姓名+\t;name=br.readLine;System.out.println请输入该学生的学号+\t;id=br.readLine;System.out.println请输入该学生的总成绩+\t;total=scan.nextInt;System.out.println请输入该学生的体育成绩+\t;sports=scan.nextInt;}publicintTotalScore{intTscore;Tscore=total;returnTscore;}publicintSportScore{intSscore;Sscore=sports;returnSscore;}}classSchool{privatestaticintline=600;privatestaticintk=0;privatestaticStringcode=123456;privatestaticStringYourCode;publicSchool{Scannerscan=newScannerSystem.in;System.out.println请输入本校录取分数线;line=scan.nextInt;}publicstaticvoidCheckAndChangethrowsIOEx__ption{inti=0m;booleanj;System.out.println请选择执行的操作+\t+
1、查询录取分数+\t+
2、修改录取分数+\t;Scannerscan=newScannerSystem.in;i=scan.nextInt;ifi==1{System.out.println本校的录取分数线是+line;}ifi==2{BufferedReaderbi=newBufferedReadernewInputStreamReaderSystem.in;System.out.println请输入_____;YourCode=bi.readLine;m=YourCode.compareTocode;ifm!=0j=true;elsej=false;whilej{System.out.println您输入的__错误!请重新输入;k++;ifk==3{System.out.println输入次数已达三次!;k=0;break;}System.out.println请输入_____;YourCode=bi.readLine;m=YourCode.compareTocode;ifm!=0j=true;elsej=false;}if!j{System.out.println请输入新的录取分数线;line=scan.nextInt;}}}publicstaticvoidAdmissionStudentSomeone{ifSomeone.SportScore95Someone.TotalScore300{System.out.println恭喜你!+Someone.name+同学,+你被本校录取了!+\t;}elseifSomeone.TotalScore=line{System.out.println恭喜你!+Someone.name+同学,+你被本校录取了!;}elseSystem.out.println非常抱歉!您没被本校录取;}publicstaticvoid__inString[]argsthrowsIOEx__ption{intip;Scannerscan=newScannerSystem.in;System.out.println请选择要查询的人名
1.zhang
32.li
43.xiaoming
4.xiaohu
5.xiaozhao;p=scan.nextInt;switchp{case1:{Studentzhang3=newStudent;System.out.println请选择您需要的服务:+
1.查询是否被录取+
2.查询或修改本校录取分数线;i=scan.nextInt;switchi{case1:Admissionzhang3;break;case2:CheckAndChange;break;}}break;case2:{Studentli4=newStudent;System.out.println请选择您需要的服务:+
1.查询是否被录取+
2.查询或修改本校录取分数线;i=scan.nextInt;switchi{case1:Admissionli4;break;case2:CheckAndChange;break;}}break;case3:{Studentxiaoming=newStudent;System.out.println请选择您需要的服务:+
1.查询是否被录取+
2.查询或修改本校录取分数线;i=scan.nextInt;switchi{case1:Admissionxiaoming;break;case2:CheckAndChange;break;}}break;case4:{Studentxiaohu=newStudent;System.out.println请选择您需要的服务:+
1.查询是否被录取+
2.查询或修改本校录取分数线;i=scan.nextInt;switchi{case1:Admissionxiaohu;break;case2:CheckAndChange;break;}}break;case5:{Studentxiaozhao=newStudent;System.out.println请选择您需要的服务:+
1.查询是否被录取+
2.查询或修改本校录取分数线;i=scan.nextInt;switchi{case1:Admissionxiaozhao;break;case2:CheckAndChange;break;}}break;default:System.out.println查无此人,请核对后再查!;break;}}}运行结果截图。