Java 面向对象 习题1(基础篇)

简介: 1、编写Address类2、定义Employee类3、编写程序,统计字符串4、设计Dog类5、设计User类

🌎题目目录


1、编写Address类

2、定义Employee类

3、编写程序,统计字符串

4、设计Dog类

5、设计User类


1、编写Address类

题目:编写并测试一个代表地址的Address类,地址信息由国家、省份、城市、街道、邮编组成,并可以返回完整的地址信息。


🔗代码如下:


class Address{
    private String country,province,city,street,postcode;
    public Address(String country,String province,String city,String street,String postcode){
        this.setCountry(country);
        this.setProvince(province);
        this.setCity(city);
        this.setStreet(street);
        this.setPostcode(postcode);
    }
    public void tell(){
        System.out.println("Address:"+getCountry()+","+getProvince()+","+getCity()+","+getStreet()+","+getPostcode());
    }
    public void setCountry (String country) {
        this.country = country;
    }
    public void setProvince (String province) {
        this.province = province;
    }
    public void setCity (String city) {
        this.city = city;
    }
    public void setStreet (String street) {
        this.street = street;
    }
    public void setPostcode (String postcode) {
        this.postcode = postcode;
    }
    public String getCountry () {
        return country;
    }
    public String getProvince () {
        return province;
    }
    public String getCity () {
        return city;
    }
    public String getStreet () {
        return street;
    }
    public String getPostcode () {
        return postcode;
    }
}
public class Demo1 {
    public static void main(String[] args){
        Address add=new Address("中国","甘肃","兰州","中北路","12345");
        add.tell();
    }
}


🔗运行结果:


Address:中国,甘肃,兰州,中北路,12345


2、定义Employee类

题目:定义并测试一个代表员工的Employee类。员工属性包括“编号"、“姓名" 、“基本薪水”、“薪水增长额",还包括计算薪水增长额及计算增长后的工资总额的操作方法。


🔗代码如下:


class Employee{
    private String id,name;
    private double salary,growth;
    public Employee(String id,String name,double salary){
        this.setId(id);
        this.setName(name);
        this.setSalary(salary);
    }
    public void setId(String id){
        this.id=id;
    }
    public void setName(String name){
        this.name=name;
    }
    public void setSalary(double salary){
        this.salary=salary;
    }
    public String getId(){
        return id;
    }
    public String getName(){
        return name;
    }
    public double getSalary(){
        return salary;
    }
    public double growth(){
        growth=salary*2+500;
        return growth;
    }
    public double total(){
        return salary+growth;
    }
    public void print(){
        System.out.println("编号:"+getId()+", 姓名:"+getName()+", 基本薪水:"+getSalary()+", 薪水增长额:"+growth()+", 工资:"+total());
    }
}
public class Demo2 {
    public static void main(String[] args){
        Employee emp=new Employee("123","张三",3000);
        emp.print();
    }
}


🔗运行结果:


编号:123, 姓名:张三, 基本薪水:3000.0, 薪水增长额:6500.0, 工资:9500.0


3、编写程序,统计字符串

题目:编写程序,统计出字符串"want you to know one thing"中字母n和字母0的出现次数。


🔗代码如下:


public class Demo3 {
    public static void main(String[] args){
        String str="want you to know one thing";
        char[] c=str.toCharArray();
        int countn,counto;
        countn=counto=0;
        for(int i=0;i<c.length;i++){
            if(c[i]=='n'){
                countn++;
            } else if(c[i]=='o') {
                counto++;
            }
        }
        System.out.println("字母n出现的次数:"+countn);
        System.out.println("字母o出现的次数:"+counto);
    }
}


🔗运行结果:


字母n出现的次数:4
字母o出现的次数:4


4、设计Dog类

题目:设计一个Dog类,有名字、颜色、年龄等属性,定义构造方法来初始化类的这些属性,定义方法输出Dog信息,编写应用程序使用Dog类。


🔗代码如下:


class Dog{
    private String name,color;
    private int age;
    public Dog(String name,String color,int age){
        this.name=name;
        this.color=color;
        this.age=age;
    }
    public String getName(){
        return this.name;
    }
    public String getColor(){
        return this.color;
    }
    public int getAge(){
        return this.age;
    }
    public void print(){
        System.out.println("名字:"+getName()+", 颜色:"+getColor()+", 年龄:"+getAge());
    }
}
public class Demo4 {
    public static void main(String[] args){
        Dog dog1=new Dog("巴克","黄色",5);
        Dog dog2=new Dog("克鲁","黑色",6);
        dog1.print();
        dog2.print();
    }
}


🔗运行结果:


名字:巴克, 颜色:黄色, 年龄:5
名字:克鲁, 颜色:黑色, 年龄:6


5、设计User类

题目:设计一个表示用户的User类,类中的变量有用户名、口令和记录用户个数的变量,定义类的3个构造方法(无参、为用户名赋值、为用户名和口令赋值)、获取和设置囗令的方法和返回类信息的方法。


🔗代码如下:


//设计一个表示用户的User类,类中的变量有用户名、口令和记录用户个数的变量,
//定义类的3个构造方法(无参、为用户名赋值、为用户名和口令赋值)、获取和设置囗令的方法和返回类信息的方法。
class User{
    private String name,command;
    private static int number;//定义静态变量number,共享数据
    public User(){
        number++;
    }
    public User(String name){
        this.name=name;
        number++;
    }
    public User(String name,String command){
        this.setName(name);
        this.setCommand(command);
        number++;
    }
    public void setName(String n){
        name=n;
    }
    public String getName(){
        return name;
    }
    public void setCommand(String c){
        command=c;
    }
    public String getCommand(){
        return command;
    }
    public void getUser(){
        System.out.println("用户名:"+getName()+",口令:"+getCommand());
    }
    public static int getNumber(){    //静态方法,方便调用
        return number;
    }
}
public class Demo5 {
    public static void main(String[] args){
        User user1=new User();
        User user2=new User("张三");
        User user3=new User("李四","你好!");
        user1.getUser();
        user2.getUser();
        user3.getUser();
        System.out.println("用户个数:"+User.getNumber());//静态方法,通过类名调用
    }
}


🔗运行结果:

用户名:null,口令:null
用户名:张三,口令:null
用户名:李四,口令:你好!
用户个数:3
目录
相关文章
|
6天前
|
Java
Java基础语法与面向对象
重载(Overload)指同一类中方法名相同、参数列表不同,与返回值无关;重写(Override)指子类重新实现父类方法,方法名和参数列表必须相同,返回类型兼容。重载发生在同类,重写发生在继承关系中。
52 1
|
17天前
|
存储 Java 关系型数据库
Java 项目实战基于面向对象思想的汽车租赁系统开发实例 汽车租赁系统 Java 面向对象项目实战
本文介绍基于Java面向对象编程的汽车租赁系统技术方案与应用实例,涵盖系统功能需求分析、类设计、数据库设计及具体代码实现,帮助开发者掌握Java在实际项目中的应用。
38 0
|
2月前
|
安全 Java 编译器
Java面向对象
本文深入讲解了Java面向对象编程(OOP)的四大特性:封装、继承、多态与抽象,以及方法的设计与使用。通过示例展示了如何用类和对象组织代码,提升程序的可维护性与扩展性。
|
3月前
|
存储 Java 测试技术
Java基础 - 面向对象
面向对象编程是Java的核心,包含封装、继承、多态三大特性。封装隐藏实现细节,提升代码可维护性与安全性;继承实现类间IS-A关系,支持代码复用;多态通过继承、重写与向上转型,实现运行时方法动态绑定,提升系统扩展性与灵活性。
|
5月前
|
人工智能 Java 编译器
Java:面向对象
本文介绍了Java编程中的核心概念,包括包的命名规范与自动导入机制、构造方法的特点与使用、`this`和`super`关键字的作用、继承的基本规则、访问权限的设置、封装的意义、多态的实现原理以及`static`关键字的用法。通过详细解析每个知识点,并结合代码示例,帮助读者深入理解Java面向对象编程的核心思想与实践技巧。内容适合初学者及进阶开发者学习参考。
116 0
|
7月前
|
缓存 安全 Java
java面试-基础语法与面向对象
本文介绍了 Java 编程中的几个核心概念。首先,详细区分了方法重载与重写的定义、发生阶段及规则;其次,分析了 `==` 与 `equals` 的区别,强调了基本类型和引用类型的比较方式;接着,对比了 `String`、`StringBuilder` 和 `StringBuffer` 的特性,包括线程安全性和性能差异;最后,讲解了 Java 异常机制,包括自定义异常的实现以及常见非检查异常的类型。这些内容对理解 Java 面向对象编程和实际开发问题解决具有重要意义。
|
10月前
|
Java
java中面向过程和面向对象区别?
java中面向过程和面向对象区别?
108 1
|
11月前
|
JavaScript 前端开发 Java
还不明白面向对象? 本文带你彻底搞懂面向对象的三大特征(2024年11月Java版)
欢迎来到我的博客,我是瑞雨溪,一名热爱JavaScript和Vue的大一学生。如果你从我的文章中受益,欢迎关注我,我将持续更新更多优质内容。你的支持是我前进的动力!🎉🎉🎉
93 0
还不明白面向对象? 本文带你彻底搞懂面向对象的三大特征(2024年11月Java版)
|
11月前
|
Java 关系型数据库 数据库
面向对象设计原则在Java中的实现与案例分析
【10月更文挑战第25天】本文通过Java语言的具体实现和案例分析,详细介绍了面向对象设计的五大核心原则:单一职责原则、开闭原则、里氏替换原则、接口隔离原则和依赖倒置原则。这些原则帮助开发者构建更加灵活、可维护和可扩展的系统,不仅适用于Java,也适用于其他面向对象编程语言。
185 2
|
12月前
|
存储 Java 程序员
Java基础-面向对象
Java基础-面向对象
81 0