Java程序设计的第二次作业

本次作业包含两个部分:一是以下4个题目的程序源码和运行结果截图;二是本次作业的小结(谈谈你在做作业的过程中遇到了哪些问题,如何解决,有哪些收获)。
1.编写“人”类及其测试类。
1.1 “人”类:
 类名:Person
 属性:姓名、性别、年龄、身份证号码
 方法:在控制台输出各个信息
1.2 测试类
 类名:TestPerson
 方法:main
 对象:(张三,男,18,430101010101010101)
(李四,女,18,123456789009876543)
 1 class Person {
 2     String name;
 3     char sex;
 4     int age;
 5     String ID;
 6     static void pr(Person x){
 7         System.out.println("姓名:"+x.name+" 性别:"+x.sex+" 年龄:"+x.age+" 身份证号码:"+x.ID);
 8     }
 9 }
10 public class TestPerson {
11     public static void main(String[] args) {
12         Person a=new Person();
13         Person b=new Person();
14         a.name="张三";
15         a.sex='男';
16         a.age=18;
17         a.ID="430101010101010101";
18         b.name="李四";
19         b.sex='女';
20         b.age=18;
21         b.ID="123456789009876543";
22         Person.pr(a);
23         Person.pr(b);
24     }
25 }

运行结果:

  

2.编写“手机”类及其测试类。
2.1 “手机”类:
 类名:Phone
 属性:手机品牌、手机型号
 方法:在控制台输出手机信息
2.2 测试类
 类名:TestPhone
 方法:main
 对象:(华为,荣耀3C)
(联想,A3600D)
(小米,note)
 1  class Phone {
 2     String Brand;
 3     String Model;
 4     static void pr(Phone x){
 5         System.out.println("手机品牌:"+x.Brand+" 手机型号:"+x.Model);
 6     }
 7 }
 8 public class TestPhone {
 9     public static void main(String[] args) {
10         Phone i=new Phone();
11         Phone j=new Phone();
12         Phone k=new Phone();
13         i.Brand="华为";
14         i.Model="荣耀3C";
15         j.Brand="联想";
16         j.Model="A3600D";
17         k.Brand="小米";
18         k.Model="note";
19         Phone.pr(i);
20         Phone.pr(j);
21         Phone.pr(k);
22     }
23 }

运行结果:

 

3.编写“书籍”类及其测试类。

3.1 “书籍”类
 类名:Book
 属性:书名、书号、主编、出版社、出版时间、页数、价格
 方法:在控制台输出每本书的信息
3.2 测试类
 创建2个对象,并调用方法
 1 class Book {
 2     String Title;
 3     String Number;
 4     String Author;
 5     String PublishingHouse;
 6     String PublishingTime;
 7     int PageNumber;
 8     float Price;
 9     static void pr(Book x){
10         System.out.println("\n书名:"+x.Title+"\n书号:"+x.Number+"\n作者:"+x.Author+"\n出版社:"+x.PublishingHouse+"\n出版时间:"+x.PublishingTime+"\n页数:"+x.PageNumber+"\n价格:"+x.Price);
11     }
12 }
13 
14  public class TestBook {
15     public static void main(String[] args) {
16      Book b1=new Book();
17      Book b2=new Book();
18      b1.Title="Java从入门到精通";
19      b1.Number="978-7-302-4454-1";
20      b1.Author="赵洛育";
21      b1.PublishingHouse="清华大学出版社";
22      b1.PublishingTime="200809";
23      b1.PageNumber=282;
24      b1.Price=69.8f;
25      b2.Title="高等数学";
26      b2.Number="978-7-04-039662-1";
27      b2.Author="王强";
28      b2.PublishingHouse="高等教育出版社";
29      b2.PublishingTime="197810";
30      b2.PageNumber=179;
31      b2.Price=39.3f;
32      Book.pr(b1);
33      Book.pr(b2);
34     }
35 }

运行结果:

4.编写“圆柱体”类及其测试类。
4.1 “圆柱体”类
 属性:圆底半径、高,
 方法1:计算底面积
 方法2:计算体积
 方法3:打印圆底半径、高、底面积和体积。
4.2 测试类
 创建2个对象,并调用方法

 

 1 import java.util.Scanner;
 2 
 3 class Cylinder{
 4     final  float PI=3.14f;
 5     float r;
 6     float h;
 7     static float S(Cylinder c) {
 8         return c.PI*c.r*c.r;
 9     }
10     static float V(Cylinder c) {
11         return c.PI*c.r*c.r*c.h;
12     }
13     static void pr(Cylinder c){
14         System.out.println("圆底半径:"+c.r+"  高:"+c.h+"  底面积:"+S(c)+"  体积:"+V(c));
15     }
16 }
17 
18 public class TestCylinder {
19     public static void main(String[] args) {
20         Cylinder c1=new Cylinder();
21         Cylinder c2=new Cylinder();
22         System.out.println("请输入两个圆柱的底面半径:");
23         @SuppressWarnings("resource")
24         Scanner reader=new Scanner(System.in);
25         c1.r=reader.nextFloat();
26         c2.r=reader.nextFloat();
27         System.out.println("请输入两个圆柱体的高:"); 
28         c1.h=reader.nextFloat();
29         c2.h=reader.nextFloat();
30         Cylinder.pr(c1);
31         Cylinder.pr(c2);
32     }
33 }

运行结果:

小结:

目前编写java程序还是很不熟练的,需要借助书本和其他资料来慢慢完成作业,在写程序的过程中,也会遇到很多自己目前无法弄明白的问题,这就需要我们自己去探索,去寻找答案。在课余我们也应该经常自觉练习,增加熟练度,这样更有利于我们学习这门课程。

转载于:https://www.cnblogs.com/hyy0209/p/10668287.html

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
第二次作业: 1. 编写点类(Point类),属性成员有x,y,都是double数据类型。需要为Point类编写构造函数。 编写直线类(Line类),需要提供两点确定一条直线的函数功能。 如果两点重合,可以返回异常或者返回null引用来解决这个问题。 直线类的数据成员和函数成员请自行设计。 2. 给定文本文件,文件名称为a.txt,文件内容为一个8行8列的字符矩阵,内容为1和0字符, 请编程计算出该矩阵中水平方向或者垂直方向或者斜线方 向连续1最多的个数。 例如: 11001101 10110101 01010101 11001000 01010101 11001101 00011000 11110000 3. 编写程序求出1万以内的所有素数,并将这些素数输出到一个文本文件中,每行文本只包含一个素数数据。 该文本文件内容要求可以用记事本程序来查看。 4. 编写程序求出1万以内的所有素数,然后再判断这些素数中哪些是由素数拼接而成的。 例如素数23就符合条件,23本身是素数,其由素数2,和素数3拼接(连接)组成。 素数29就不满足条件,2是素数,而9不是素数。素数307不满足条件,不能忽略0. 7907这个素数符合条件,7是素数,907是素数。 需要把符合条件的拼接素数全部输出,并统计个数。 5. 要求从控制台输入英语单词及单词解释两项数据, 把录入的数据追加到文件中。要求提供单词查询功能。 用户输入单词后,从单词库文件中查找,如果存在则输出 该单词的解释。注意,单词不能有重复,如果重复则覆盖替换 以前的解释数据。 6. 通过命令行参数输入一个文件夹的路径名称,然后编写程序找出该文件夹下文件名称重复并且文件大小也一样的文件, 如果没有“重复文件”,则输出“没有重复文件”的提示,如果有,需要输出文件名称,和文件所在的文件夹路径(绝对路径)。 提示,需要遍历该文件夹下所有子文件夹,设计一个文件类,属性包括文件名称,文件路径,文件大小,然后进行“重复” 判断,如果文件重复,则需要记录并输出,有可能有文件名重复,但是文件大小不一样,重复的文件可能不止2个,可能 在不同的子文件夹下有多个文件重复。 7. 霍夫曼编码实现压缩文本文件,见文件huffman.rar. 对文件数据读写等功能已经实现,程序在Q2Resources.zip中。 Q2Resources.zip中的文件禁止修改。请将TextZip.java文件所有未实现的函数按照要求给以实现。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值