Java编程练习题:字符串处理、面向对象编程与动物园模拟
题目一
给定一个字符串:
'12312356400112561008445465881008453658979811126697841131987984465'
- 求这些数字的和
- 判断这个字符串中有多少个1
题目二
编程完成以下任务
编写Monkey类,People类和测试类Main,要求
@1 Monkey类中有个构造方法:Monkey (String s),并且有个public void speak()方法,在speak方法中输出'咿咿呀呀......'的信息。 @2 People类是Monkey类的子类,在People类中重写方法speak(),在speak方法中输出'小样,不错嘛!会说话了!'的信息。 @3 在People类中新增方法void think(),在think方法中输出'别说话!认真思考!'的信息。 @4 在主类E的main方法中创建Monkey与People类的对象,测试这2个类的功能。
题目三
创建Animal类,具有属性name,以及技能方法skill(),创建Cat类,继承Animal类,猫的技能是抓老鼠, 创建Dog类,继承Animal类,狗的技能是算术,创建Monkey类,继承Animal类,猴子的技能是捞月亮,创建动物园类Zoo类,动物园最多可以存放10个动物,可以添加动物,可以让所有的动物表演技能
题目一解答:
- 将字符串转换为字符数组,遍历数组,将每个字符转换为数字并累加即可。
- 遍历字符串,每当遇到字符'1'时计数器加1。
代码实现:
public class Test {
public static void main(String[] args) {
String s = "12312356400112561008445465881008453658979811126697841131987984465";
int sum = 0;
int count = 0;
for (int i = 0; i < s.length(); i++) {
char c = s.charAt(i);
if (c == '1') {
count++;
}
if (Character.isDigit(c)) {
sum += c - '0';
}
}
System.out.println("数字的和为:" + sum);
System.out.println("字符串中1的个数为:" + count);
}
}
题目二解答:
Monkey类的实现:
public class Monkey {
private String s;
public Monkey(String s) {
this.s = s;
}
public void speak() {
System.out.println("咿咿呀呀......");
}
}
People类的实现:
public class People extends Monkey {
public People(String s) {
super(s);
}
@Override
public void speak() {
System.out.println("小样,不错嘛!会说话了!");
}
public void think() {
System.out.println("别说话!认真思考!");
}
}
测试类Main的实现:
public class Main {
public static void main(String[] args) {
Monkey monkey = new Monkey("猴子");
People people = new People("人类");
monkey.speak();
people.speak();
people.think();
}
}
题目三解答:
Animal类的实现:
public class Animal {
private String name;
public Animal(String name) {
this.name = name;
}
public void skill() {
System.out.println("我是动物,我还没有技能!");
}
}
Cat类的实现:
public class Cat extends Animal {
public Cat(String name) {
super(name);
}
@Override
public void skill() {
System.out.println("我是" + super.name + ",我会抓老鼠!");
}
}
Dog类的实现:
public class Dog extends Animal {
public Dog(String name) {
super(name);
}
@Override
public void skill() {
System.out.println("我是" + super.name + ",我会算术!");
}
}
Monkey类的实现:
public class Monkey extends Animal {
public Monkey(String name) {
super(name);
}
@Override
public void skill() {
System.out.println("我是" + super.name + ",我会捞月亮!");
}
}
Zoo类的实现:
public class Zoo {
private Animal[] animals;
private int count;
public Zoo() {
animals = new Animal[10];
}
public void addAnimal(Animal animal) {
if (count >= animals.length) {
System.out.println("动物园已满,无法添加动物!");
return;
}
animals[count++] = animal;
}
public void showSkill() {
for (int i = 0; i < count; i++) {
animals[i].skill();
}
}
}
测试类Main的实现:
public class Main {
public static void main(String[] args) {
Zoo zoo = new Zoo();
zoo.addAnimal(new Cat("小花"));
zoo.addAnimal(new Dog("小黑"));
zoo.addAnimal(new Monkey("小猴"));
zoo.showSkill();
}
}
原文地址: https://www.cveoy.top/t/topic/ohme 著作权归作者所有。请勿转载和采集!