题目一

给定一个字符串:

'12312356400112561008445465881008453658979811126697841131987984465'

  1. 求这些数字的和
  2. 判断这个字符串中有多少个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. 将字符串转换为字符数组,遍历数组,将每个字符转换为数字并累加即可。
  2. 遍历字符串,每当遇到字符'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();
    }
}
Java编程练习题:字符串处理、面向对象编程与动物园模拟

原文地址: https://www.cveoy.top/t/topic/ohme 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录