计算机专业java作业5

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

作业的要求:请按题目的要求编程和调试,并将最后完成的程序(包括源文件、字节码文件)按题号保存并一起打包递交。

若是调试程序请务必在所修改的语句后加上注释语句:"//*****"。

一、编程题(每题7分,共8题,总分56分)
1.试修改例1.3.1程序,使其输出的字符串为“I’d like to study Java !”,并在Eclipse环境下编译与运行该程序。

2. 编写一个Java Application,其功能为:在程序中取两个(10~300)随机整数,以如下形式显示它们的和(设两个随机数分别为204,94):
提示:可在ng.Math类中:调用random()方法;random()为实现取0-1之间的随机数方法;该方法返回值是正数,类型为double。

如果要得到其它范围的数,则要进行相应的转换。

例如要得到(a,b)之间的整数的方法可写为:(int) ((b-a+1)*Math.random()+a)。

若要得到(0,99)之间的整数可以使用语句:int m = (int) (100*Math.random());
3. 编写程序:由键盘输入两个字符串“12”与“24”,将它们转换成整数,然后计算并输出这两个数的和。

4.编写程序:由键盘输入一个百分制成绩,要求按等级’A’、’B’、’C’和’D’形式输出成绩,90分以上为’A’,75~89为’B’,60~74为’C’,60分以下为’D’。

5.假设有一条钢材长2000米,每天截取其中的一半,编一程序求出多少天后,钢材的长度开始短于5米?
6.编写程序:声明一数组来存放12个月的英文名称,由用户从键盘输入月份,如输入8,则程序输出相应的月份名称:August。

同时请大家考虑若是用户输入了1~12以外的内容,你的程序将如何应对?
7.声明一个类Person,成员变量有姓名、出生年月、性别。

有成员方法以显示姓名、年龄和性别。

并用程序输出验证。

(注:用main方法实现对象的创建并输出相应的信息)。

8.声明一个矩形类Rectangle,其中有多个构造方法。

用不同的构造方法创建对象,并输出矩形的周长和面积。

二、程序调试题(每个错4分,共11个错,共44分)
1. 本程序要求正确的运行结果如图所示:程序有三个错,请改正之。

1 1
2 2 2
3 3 3 3
4 4 4 4 4
#1 public class Te21 {
#2 public void main(String[] args) {
#3 int size = 5;
#4 for (int i=0; i<=size; i++) {
#5 for (int j=i; j>=0; j--)
#6 System.out.print(i);
#7 System.out.print ();
#8 }
#9 }
#10 }
2.下面应用程序实现找出1000以内的所有水仙数。

水仙数是其各个位数的立方数之和等于该数。

如:153=13+53+33。

找出程序中存在的三个错误之处并予以纠正。

#1 public class Shuixianshu{
#2 int a,b,c;
#3 public static boolean sxs(){
#4 a=m%10;
#5 b=(m/10)%10;
#6 c=m%100;
#7 return (a*a*a+b*b*b+c*c*c==m);
#8 }
#9 public static void main(String [] args){
#10 for (int i=100;i<1000;i++){
#11 if (sxs(i) )
#12 System.out.println(i+"是水仙数。

");
#13 }
#14 }
#15 }
3.下例程序实现对一个16位的长整数,统计0~9这十个数字每一个出现的次数。

程序有两个错,请改正之。

#1 public class StatNum{
#2 public static void main(String args[]){
#3 int m;
#4 int a[]=new int[10];
#5 long aa=1586488654895649;
#6 for (int i=0;i<=15;i++){
#7 m=aa %10;
#8 a[m]=a[m]+1;
#9 aa=aa/10;
#10 }
#11 for (m=0;m<10;m++)
#12 System.out.println(m+": "+a[m]);
#13 }
#14 }
4.类student定义了学生的姓名(name)、测验分数(testMark)和考试分数(examMark)。

程序产生的正确输出应如下图所示,该程序有三个错,请改正之。

程序:
#1 class Student {
#2 private String name;
#3 private int testMark;
#4 private int examMark;
#5 public Student(String theName) {
#6 name = theName;
#7 }
#8 public Student(String theName, int test, int exam) {
#8 name = theName;
#9 testMark = test;
#10 examMark = exam;
#11 }
#12 public void setExamMark(int exam) {
#13 testMark = exam;
#14 System.out.println(name + "\'s exam mark changed to " + examMark); #15 }
#16 public int getTestMark() {
#17 return testMark;
#18 }
#19 public void displayInfo() {
#20 System.out.println(name + " got " + testMark + " in
#21 the test and " + examMark + " in the exam");
#22 }
#23 public void compareTo(other) {
#24 if (examMark > other.examMark)
#25 System.out.println(name + " did better than " + );
#26 else
#27 System.out.println(name + " did worse than " + );
#28 }
#29 }
#30 public class test4_3 {
#31 public static void main(String[] args) {
#32 Student student1;
#33 Student student2;
#34 student1 = new Student("张楠", 70, 85);
#35 student2 = new Student("李浩", 80, 90);
#36 student1.displayInfo();
#37 student2.displayInfo();
#38 student1.setExamMark(40);
#39 pareTo(student1);
#40 }
#41 }。

相关文档
最新文档