面向对象高级训练

每日作业 - JavaSE第7天 知识点 面向对象 题目1(训练) 定义手机类,手机有品牌(brand),价格(price)和颜色(color)三个属性,有打电话call()和sendMessage()两个功能。 请定义出手机类,类中要有空参、有参构造方法,set/get方法。 定义测试类,在主方法中使用空参构造创建对象,使用set方法赋值。 调用对象的两个功能,打印效果如下: 正在使用价格为3998元黑色的小米手机打电话....... 阅读详情

目录

1、试题:假设用户账号为:admin,密码为 123,编写用户登陆案例。 要 求:请将登陆定义为 login 方法, 并将 login 方法写在 UserService 类中 2、试题:自定义一个类, 命名为 MyList, 类中包含属性:Object[] element; 定义如下几个方法: 1. 增加方法 add : 可以向数组属性中依次存储 Object,数 组内容存满时,需实现动态扩容(详解在下面)。 参考: Boolean add(Object obj)

2. 删除方法 remove : 可以根据数据或下标,从数组属性 中删除 Object 数据,删除后,数组后续 元素需前移。参考:void remove(Object obj) 或 void remove(Integer index) 3. 查询方法 get : 方法传入下标,返回数组中指定下标的 数据。 参考:Object get(Integer index) 4. 当前存储数据量 size : 获取当前存储的有效数据长度 参考:size=数组.length动态扩容详解: 无需真正增加原数组的容量,只用将原内容复 制到新的大数组,然后让原数组名称重新等于大数组即 可。由于原数组数据 在堆中, 失去引用会被 GC 自动回收。(考点:如何实现数组的动态长度)


 

1、试题:假设用户账号为:admin,密码为 123,编写用户登陆案例。 要 求:请将登陆定义为 login 方法, 并将 login 方法写在 UserService 类中 2、试题:自定义一个类, 命名为 MyList, 类中包含属性:Object[] element; 定义如下几个方法: 1. 增加方法 add : 可以向数组属性中依次存储 Object,数 组内容存满时,需实现动态扩容(详解在下面)。 参考: Boolean add(Object obj)

 

public class Demo04 {
    public static void main(String[] args) {
        UserService u=new UserService();
        u.login();
    }
}
class UserService {
        private String account;
        private String password;

        public UserService() {
        }
        private UserService(String account, String passwprd) {
            this.account = account;
            this.password = passwprd;
        }
        public void setAccount(String account) {
            this.account = account;
        }
        public String getAccount() {
            return account;
        }
        public void setPassword(String passwprd) {
            this.password = passwprd;
        }
        public String getPasswprd() {
            return password;
        }
        public void login() {
            Scanner input1 = new Scanner(System.in);
            System.out.println("请输入你的账户:");
            this.account = input1.next();
            Scanner input2 = new Scanner(System.in);
            System.out.println("请输入你的密码");
            this.password = input2.next();
            if (this.account.equals("admin") && this.password.equals("123")) {
                System.out.println("登录成功");
            } else {
                System.out.println("您输入的密码有误,请重新输入");
                login();
            }
        }
    }

2. 删除方法 remove : 可以根据数据或下标,从数组属性 中删除 Object 数据,删除后,数组后续 元素需前移。参考:void remove(Object obj) 或 void remove(Integer index) 3. 查询方法 get : 方法传入下标,返回数组中指定下标的 数据。 参考:Object get(Integer index) 4. 当前存储数据量 size : 获取当前存储的有效数据长度 参考:size=数组.length动态扩容详解: 无需真正增加原数组的容量,只用将原内容复 制到新的大数组,然后让原数组名称重新等于大数组即 可。由于原数组数据 在堆中, 失去引用会被 GC 自动回收。(考点:如何实现数组的动态长度) 

 

public class Demo05{
    public static void main(String[] args) {
        MyList list=new MyList();
        //添加元素
        for (int i = 0; i < 5; i++) {
            list.add("龙仁的TT~"+i);
        }
        String s="龙仁的TT~";
        String s1="龙仁的TT";
        list.add(s);
        //删除元素
        Object obj=list.remove(s1);
        System.out.println("删除的元素:"+obj);
        //获取元素
        for (int i = 0; i < list.getSize(); i++) {
            System.out.println(list.get(i));
        }
    }
}
class MyList{
    //私有化属性
    private Object[]element;//盛放元素的数组
    private int size;//实际容量大小
    private int capacity;//最大容量
    public MyList(){
    this.capacity=4;//默认最大容量
    this.size=0;//实际容量大小
    this.element=new Object[capacity];//分配数组的空间
    }
    public Object[] getElement() {
        return element;
    }
    public void setElement(Object[] element) {
        this.element = element;
    }
    public int getSize(){
        return size;
    }
    public void setSize(int size) {
        this.size = size;
    }
    public int getCapacity() {
        return capacity;
    }
    public void setCapacity(int capacity) {
        this.capacity = capacity;
    }
    public void add(Object obj) {
        if(size>=capacity){//数组内容是否存满,满了之后需要扩容
            //动态扩容
            Object[] newArr=new Object[capacity*2];//新数组的大小可以自己决定,比原来大就可以
            //将原有数组的元素复制到新的数组中
            for (int i = 0; i < element.length; i++) {
                newArr[i]=element[i];
            }
            //让原数组名称重新等于新数组即可
            element=newArr;
        }
        element[size]=obj;//存放元素
        size++;//实际大小+1
    }
    public Object remove(Object obj) {//判断对象是否存在
        for (int i = 0; i < element.length; i++) {
            if (element[i]!=null && obj==element[i]){
                return remove(i);
            }
        }
        return null;//不存在
    }
    public Object remove(int index){
        if (index==size-1){//如果是最后一个元素
            size--;//数组长度减1
            return element[index];//返回被删除的元素
        }
        Object obj=element[index];
        for (int i=index;i<size;i++){
            element[i]=element[i+1];
        }
        size--;
        return obj;
    }
    public Object get(int index){
        return element[index];
    }
}

 

02 Java面向对象—第4节 面向对象高级~数组增删查案例(动态扩容) 数组增删查案例一、面向对象高级训练任务2、数组增删查案例问题描述解题思路代码动态扩容 一、面向对象高级训练任务 2、数组增删查案例 问题描述 设置一个类, 命名为 MyList 类中包含属性:Object[ ] element 方法有如下几个: 增加方法 add : 可以向数组属性中依次存储 Object,数组内容存满时,需实现动态扩容(详解在下面)。 删除方法 remove :可以根据数据或下标,从数组属性中删除 Object 数据,删除后,数组后续元素需前移。 查询方法 get :方法传入下标,返回 阅读详情

相关推荐

09-面向对象编程高级特性魔法-导读

欢迎来到面向对象编程高级特性魔法课堂!在这个魔法主题中,我们将深入探索Python面向对象编程的高级特性,提升你的对象魔法操控能力。准备好探索面向对象编程的高级魔法世界了吗?让我们一起提升你的对象魔法操控能力吧!

98

Java day09面向对象综合训练 day10 API&字符串

/1.键盘录入一个字符串System.out.println("请输入一个字符串");//2.进行遍历i++) {//i 依次表示字符中的每一个索引。

我亦无他,唯手熟尔 868

全国计算机等级考试二级Java全真模拟训练

类是 Java 中用于创建对象的模板,它定义了对象的属性和行为。类的基本结构包括成员变量(也称为字段)和方法。// 成员变量int age;// 方法代码分析::定义一个名为Person的类。int age;:定义两个成员变量,分别表示人的姓名和年龄。:定义一个方法,用于输出打招呼的信息。成员变量用于描述对象的状态,它们的访问权限可以通过访问控制符(如privatepublic等)进行控制,以实现封装。

weixin_30838971的博客 779

练习3/31(面向对象)

练习 一、单选 有关Java中的类和对象,以下说法错误的是 B A. 同一个类的所有对象都拥有相同的特征和行为 B. 类和对象一样,只是说法不同 C. 对象是具有属性和行为的实体 D. 类规定了对象拥有的特征和行为 在java中,以下程序的运行结果是 A A. 输出:null B. 正常运行,但不会输出任何内容 C. 编译出错,不能运行 D. 能运行,但运行时会出现异常 下面代码运行的正确结果是 D A. 编译错误,无法正常运行 B. 编译正确,但运行时产生错误 C. hello D.

gpc799616752的博客 332

Java面向对象编程上机-练习题汇总

【练习题】类的成员变量: 猜数字游戏:一个类A有一个成员变量v,有一个初值100。定义一个类,对A类的成员变量v进行猜。如果大了则提示大了,小了则提示小了。等于则提示猜测成功。

Android Studio中把llama.cpp编译Android .so

本文介绍了一个在Android Studio中集成llama.cpp的最小Demo实现方案,通过JNI将llama.cpp编译为Android.so库,实现本地加载GGUF模型进行文本生成。文章详细说明了项目结构配置(SDK≥30,NDK≥28)、CMake编译设置、Kotlin-JNI-C++的完整调用链实现,以及模型文件部署方式。该Demo采用每次请求新建上下文的简化设计,包含加载模型、生成文本、资源释放等核心功能,并提供了错误排查建议。项目舍弃了上下文保持等复杂功能以确保稳定性,适合作为端侧大语言模型

Zhang Phil 519

面向对象综合训练

String[] girlfaces = {"美奂绝伦", "沉鱼落雁", "亭亭玉立", "身材娇好", "相貌平平", "相貌捡漏", "惨不忍睹"};String[] boyfaces = {"风流俊雅", "气宇轩昂", "相貌英俊", "五官端正", "相貌平平", "一塌糊涂", "面目狰狞"};GirlFriend g3 = new GirlFriend("小杨", 28, "萌妹子", "唱歌");Goods g3 = new Goods("003", "保温杯", 59, 99);

m0_75175101的博客 1849

音频DSP开发中的‘隐藏关卡’:那些SigmaStudio未公开的模块计算秘籍

本文深入探讨音频DSP开发中SigmaStudio未公开的模块计算秘籍,重点解析动态范围控制、均衡器参数映射和混响算法优化等核心模块计算公式。通过实际案例揭示如何利用这些非官方技巧提升音频质量与系统性能,为ADI DSP开发者提供宝贵的实战经验。

water的专栏 911

(Java入门)面向对象综合训练 一.文字版格斗游戏​二.对象数组练习

在其中,当第一次输入带有空格的数字 第二次不再输入 第一次接收第一个10,第二次将内存在剩余的数字做一次接收。3.定义方法攻击别人 在测试类中创建两个对象,r1和r2---方法的调用者去攻击参数。创建对象要写在循环里面 否则访问的是同一片地址空间 导致输出的内容是相同的。创建两个Java文件,一个写javabean,另一个为测试类。1.写出两个私有化的成员变量,写出相应的get和set方法。2.alt+insert生成空参和全参。此时,前两个要求已经完成。这是要求三和要求四的代码。

2301_79144798的博客 570

【AI产品与商业航图】Flux.1 完全开源 AI 绘图模型:本地部署与 ComfyUI 实战指南

Flux.1是一个开源项目,用户可以自由使用和修改,完全免除使用费用。🖥️本地部署支持:与一些依赖云端计算的工具不同,Flux.1支持本地部署,确保用户可以离线使用并自主控制数据隐私。🔄兼容ComfyUI框架:Flux.1可以无缝集成到ComfyUI中,用户可以享受更加简便和直观的操作界面。🎨卓越的图像生成能力:Flux.1能够生成高质量、细腻的图像,支持多种风格与创作主题的切换。💾低硬件要求。

高校图书馆高级系统架构师/研究馆员,推动高校AI从概念演示到可评审、可交付、可运维:路线图与立项评审、PoC交付、评测回归与上线运维(Baseline/Eval/Ops)。 1737

零基础吃透!Python爬虫实战:超详细爬取小红书图文,解析封面+标题+文案全流程

本文为零基础开发者提供小红书图文爬取全流程指南,针对动态加载、严格反爬等核心痛点,从环境配置到数据解析详细讲解。主要内容包括: 核心特性分析:动态加载机制需抓包获取真实接口,严格反爬依赖Cookie验证和请求头伪装 环境准备:Python 3.8-3.10环境,使用requests/beautifulsoup4等库,通过浏览器开发者工具获取有效Cookie 实战步骤: 定位关键API接口(note/list) 配置请求头(含Cookie/User-Agent/Referer) 实现分页爬取和异常处理 解析封

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 730

面向对象高级训练任务(菜鸟学习笔记)

面向对象高级训练任务(菜鸟学习笔记) 训练试题如下: 题意非常明确,代码如下: import java.util.Scanner; public class UserService { public static String Account = "admin"; private int password = 123; public static void main(String[] args) { UserService u = new UserService(); u.logi

qq_43597247的博客 287

Unity 实战项目 ☀️| 只用一个脚本做一个 刮刮乐 案例,一不小心刮出来一个女朋友!【学习娱乐一下】

只用一个脚本做一个刮刮乐,一不小心刮出来一个女朋友!【学习娱乐一下!】

努力前行,总会成为自己心中的那道光 23万+

面向对象高级训练(2道简单的题目)

面向对象高级训练 1、试题: 假设用户账号为:admin,密码为 123,编写用户登陆案例。 要求:请将登陆定义为 login 方法, 并将 login 方法写在 UserService 类中。 思路: 1、封装账号密码两个属性 class UserService{ private String account_number;//账号 private String password;//密码 public String getAccount_number() { return account_

weixin_49995254的博客 595

【Coze搞钱实战】24. 从零实现精准用户画像:Coze+企业微信打造智能导购推送系统(附完整代码)

电商运营中,“客服重复询问用户需求、无法精准推荐”是转化率低的核心痛点——日均200人次咨询,73%的问题是重复的,首单转化率仅14%。本文基于Coze平台sys_uuid用户识别功能、企业微信API与多维表格,打造“用户行为→自动打标→标签存储→智能推送”全链路方案:通过分类分层标签体系捕捉用户偏好,Coze自动识别用户并打标,飞书多维表格存储标签数据,企业微信触发个性化推送。实操后可使客服重复询问率下降62%,意向客户转化率提升81%,首单转化率提升64%。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 543

【全网最新OD题库】2026华为 OD 机试C卷 机考真题库清单(全真题库)含考点说明(华为OD+2025年C卷+2025年B卷+2025年A卷+E卷+D卷+C卷)

华为od机试,华为od机试真题,华为od机试E卷,华为odE卷,华为od机试真题E卷,华为OD,华为OD机试,华为OD机试真题,华为od机考,华为od机试D卷,华为od机试真题D卷,华为od手撕代码,华为od,华为od机试C卷,华为od e卷,华为2024e卷,od机试,2024E卷,华为OD机试E卷,什么是华为od,华为od介绍,全面了解华为od,2024华为od,如何备战华为od,华为od算法,华为od手撕代码,华为OD机试2024年最新题库,一文带你读懂华为OD,华为机试e卷,华为OD2025B卷、华

KJ.JK 3万+

JAVA 技术方向支线任务-面向对象高级训练任务

JAVA 技术方向支线任务-面向对象高级训练任务 1. 试题:假设用户账号为:admin,密码为 123,编写用户登陆案例。 要 求:请将登陆定义为 login 方法, 并将 login 方法写在 UserService 类中 创建User.java,User主要包括用户名和密码两个参数,并在里面创建内部类UserService用于实现login方法,用来判断是否登录成功 public class User { private String name; private int ...

qq_16657805的博客 824

机器人动力学仿真软件:PyBullet_(10).案例分析:双足机器人行走仿真

在本节中,我们将详细探讨如何使用PyBullet进行双足机器人的行走仿真。双足机器人行走仿真是一个复杂的动力学问题,涉及多个关节的协调运动和环境交互。通过本节的学习,您将了解如何创建和控制双足机器人模型,设置仿真环境,以及实现基本的行走算法。首先,我们需要创建一个双足机器人模型。PyBullet支持多种模型格式,包括URDF(Unified Robot Description Format)和MJCF(MuJoCo XML Format)。URDF是一种广泛使用的机器人模型描述格式,我们将使用URDF来创建

kkchenjj的博客 913

任务卡:010203-001-面向对象高级训练

这里写目录标题1、试题:编写用户登陆案例。问题描述代码截图1、试题:自定义一个类,命名为MyList。问题描述代码截图 1、试题:编写用户登陆案例。 问题描述 假设用户账号为:admin,密码为123,要求:请将登陆定义为login方法,并将login方法写在UserService类中 代码 package Task_010203_001; public class Task_1 { public static void main(String[] args) { UserService u = n

m0_49119552的博客 204

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

02 Java面向对象—第4节 面向对象高级~编写用户登陆案例

目录一、面向对象高级训练任务1、编写用户登陆案例问题描述解题思路代码 一、面向对象高级训练任务 1、编写用户登陆案例 问题描述 假设用户账号为:admin,密码为 123,编写用户登陆案例。 要 求:请将登陆定义为 login 方法, 并将 login 方法写在UserService 类中 解题思路 本题很明显要创建两个类,一个UserService 类和一个测试类。在UserService 类中要封装两个属性以及定义login 方法。 login方法主要是用于判断测试类中用户输入的账号密码是否正确,才

weixin_46312449的博客 948

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

面向对象编程在深度学习框架中的作用

这些框架不仅提供了强大的数学运算能力,还采用了面向对象编程 (OOP) 的设计理念,使得开发者能够以更加灵活和模块化的方式构建复杂的模型。本文将探讨 OOP 在深度学习框架中的应用,以及它如何帮助研究人员和工程师更好地组织代码、提高代码的可读性和可维护性。面向对象编程为深度学习框架提供了一种强有力的抽象机制,它简化了复杂模型的构建过程,并提高了代码的可读性和可维护性。通过利用 OOP 的特性,开发人员能够更高效地实现和部署深度学习模型,同时还能利用高级功能来应对不断变化的需求和技术挑战。

乘风之行 387

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

从源码构建 Vert.x:Maven 构建、测试运行与 IDE 导入完整指南

Vert.x 是一个用于在 JVM 上构建响应式应用的工具包,其核心库 `vertx-core` 采用 Maven 多模块结构组织,整个项目可以像普通 Maven 工程一样从源码构建、运行测试并导入 IDE。本文以仓库根目录下的 [BUILDING.md](https://link.gitcode.com/i/d3d5fd318cee3d56649d3943f65e4663) 为主线,结合仓库中的

gitblog_01135的博客 297

EnTT 图模块实战指南:邻接矩阵、Graphviz 导出与 Flow Builder 执行图构建

`EnTT` 的 `graph` 子模块并不试图成为一套完整的图论库,而是以"够用、精准、服务工具链"为原则,提供了构建执行图所需的最小数据结构与算法集合。本篇指南将带你完整掌握三件事:如何使用 `adjacency_matrix` 表示有向/无向图、如何将图输出为 Graphviz dot 片段,以及如何借助 `flow` 从"任务 + 资源依赖"出发自动生成调度执行图。读完本文,你将能够为基于

gitblog_00016的博客 1040

如何通过Python 3训练营快速掌握编程:终极学习指南与社区资源推荐

想要学习Python编程但不知从何开始?Complete-Python-3-Bootcamp是一个完整的Python 3训练营课程,专为初学者设计,提供从零基础到高级应用的系统学习路径。这个开源项目包含了Udemy热门课程的所有教学资料,帮助您快速掌握Python编程的核心技能。无论您是编程新手还是希望提升技能的开发者,这个Python 3训练营都能为您提供全面的学习支持。 ## 📚 为什么选

gitblog_01010的博客 1098
上一篇: 面向对象进阶训练
下一篇: 关于异常处理的知识整理
continueLR
博客等级 码龄6年 9粉丝 39原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值