编程练习二.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面向对象编程练习题找到更多类似的练习题。