编程练习二.pdf
在本编程练习中,我们涉及了三个主要的Java编程知识点:字符串操作、类与对象的创建以及使用,以及面向对象编程的基本概念。
-
字符串操作:
-
字符串连接:题目中的第一个问题要求将两个字符串合并,这可以通过简单地使用
+运算符来实现。在lianxi46类中,str1和str2通过str1 + str2合并成一个新的字符串。有关字符串连接的更多详细信息,可以参考Java面向对象编程练习。 -
计算子串出现次数:第二个问题涉及查找一个子串在给定字符串中出现的次数。这里使用了
substring()方法来获取字符串的一部分,并与子串进行比较。不过,提供的代码存在一个问题,因为它没有正确地检查子串是否真的出现。在lianxi49类中,str2.equals(str1.substring(i, str2.length() + i))的比较方式会导致错误的结果,因为它会在同一位置匹配两次相同的子串。正确的做法应该是使用indexOf()或contains()方法来检查子串是否存在于主字符串中,然后递增计数器。可以通过Java面向对象编程:类和对象获取关于此方法的更详细解释。 -
面向对象编程:
-
类的定义与对象创建:第三个问题要求设计一个表示计算机硬件的类结构。这里有四个类:
PC,CPU,HardDisk,和测试类Test。CPU类包含speed属性和相应的getSpeed()和setSpeed(int m)方法,HardDisk类包含amount属性和对应的getAmount()和setAmount(int m)方法。这些类的设计遵循了面向对象编程的原则,即封装属性和行为。有关更多类与对象的定义内容,可以查阅Java初阶:面向对象编程中的类与对象。 -
类的关联:在UML图中,
PC类与CPU和HardDisk类有关联,意味着PC类需要持有这两个类的对象。因此,PC类有cpu和hd成员变量,并提供setCUP(CPU c)和setHardDisk(HardDisk h)方法来设置它们。show()方法用于显示CPU的速度和HardDisk的容量。更多关于类与对象的关系,可以通过面向对象编程中类与对象的关系.svg深入了解。 -
主类的使用:在
Test类的main方法中,创建了CPU、HardDisk和PC对象,并分别设置了它们的属性。通过调用对象的方法,如cpu.setSpeed(2200)和disk.setAmount(200),将值赋予对象的属性。接着,这些对象被传递给PC对象,通过setCUP()和setHardDisk()方法,使PC对象能够持有这些硬件实例。调用pc.show()来展示硬件信息。你可以在Java面向对象编程练习题找到更多类似的练习题。