Java 面向对象案例 03(黑马)

代码:

public class phoneTest {public static void main(String[] args) {phone [] arr = new phone[3];phone p1 = new phone("华为",6999,"白色");phone p2 = new phone("vivo",4999,"蓝色");phone p3 = new phone("苹果",7999,"黑色");arr[0]=p1;arr[1]=p2;arr[2]=p3;double avg = (p1.getPrice()+ p2.getPrice()+p3.getPrice())/3;System.out.println(avg);}
}
public class phone {private String brand;private double price;private String color;public phone() {}public phone(String brand, double price, String color) {this.brand = brand;this.price = price;this.color = color;}public String getBrand() {return brand;}public void setBrand(String brand) {this.brand = brand;}public double getPrice() {return price;}public void setPrice(double price) {this.price = price;}public String getColor() {return color;}public void setColor(String color) {this.color = color;}
}

运行结果:

代码:

public class girlTest {public static void main(String[] args) {girl [] arr = new girl[4];girl g1 = new girl("小红",18,'女',"跳舞");girl g2 = new girl("小芳",22,'女',"唱歌");girl g3 = new girl("小刘",23,'女',"骑车");girl g4 = new girl("小美",19,'女',"爬山");arr[0]=g1;arr[1]=g2;arr[2]=g3;arr[3]=g4;double sum=0;for(int i=0;i<arr.length;i++){girl girl=arr[i];sum+=girl.getOld();}double avg = sum/arr.length;System.out.println(avg);int count=0;//统计思想for(int i=0;i<arr.length;i++){girl girl=arr[i];if(girl.getOld()<avg) {count++;System.out.println(girl.getName() + "," + girl.getOld() + "," + girl.getHobby() + "," + girl.getSex());}}System.out.println("有"+count+"个");}
}
public class girl {private String name;private int old;private char sex;private String hobby;public girl() {}public girl(String name, int old, char sex, String hobby) {this.name = name;this.old = old;this.sex = sex;this.hobby = hobby;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getOld() {return old;}public void setOld(int old) {this.old = old;}public char getSex() {return sex;}public void setSex(char sex) {this.sex = sex;}public String getHobby() {return hobby;}public void setHobby(String hobby) {this.hobby = hobby;}
}

代码结果:

自己写的代码:

import java.sql.SQLOutput;
import java.util.Scanner;
public class studentTest {public static void main(String[] args) {Scanner input = new Scanner (System.in);student [] arr = new student[3];student s1 = new student("heima001","小白",19);student s2 = new student("heima002","小黑",19);student s3 = new student();arr[0]=s1;arr[1]=s2;arr[2]=s3;System.out.println("输入第3个同学的学号:");boolean flag = true;do {String n = input.next();if ((!n.equals(s1.getNov())) && (!n.equals(s2.getNov()))) {s3.setNov(n);flag=false;} else {System.out.println("该用户已存在,输入失败,请重新输入:");}}while(flag);System.out.println("输入第3个同学的名字:");String m = input.next();s3.setName(m);System.out.println("输入第3个同学的年龄:");int q = input.nextInt();s3.setAge(q);for(int i=0;i<arr.length;i++){student student = arr[i];System.out.println(student.getNov()+","+student.getName()+","+student.getAge());}System.out.println("请输入要删除的学生的学号:");String p = input.next();int count =0;for(int j=0;j< arr.length;j++){student student = arr[j];if(p.equals(student.getNov())) {student.setAge(0);student.setName(null);student.setNov(null);System.out.println("删除成功");break;}else{count++;}if(count==arr.length){System.out.println("删除失败");}}for(int i=0;i<arr.length;i++){student student = arr[i];System.out.println(student.getNov()+","+student.getName()+","+student.getAge());}for(int i=0;i<arr.length;i++){student student = arr[i];if(student.getNov()=="heima002"){int age =student.getAge()+1;student.setAge(age);System.out.println(student.getAge());}//System.out.println(student.getNov()+","+student.getName()+","+student.getAge());}}
}
public class student {private String Nov;private String name;private int age;public student() {}public student(String nov, String name, int age) {Nov = nov;this.name = name;this.age = age;}public String getNov() {return Nov;}public void setNov(String nov) {Nov = nov;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}
}

缺少如果数组满了要添加对象进去的判断:

1、判断id是否重复:

2、判断数组是否已满:

3、如果数组已经满了,那么创建一个新数组,并且将老数组里的元素复制进去:

4、进行添加和判断操作

5、打印元素的时候,需要分两种情况讨论,一个是添加成功的数组,一个是没有添加成功的数组,可以写一个方法:

6、在上面调用遍历的方法:

若数组不满,删除stu3,那么在数组中事null,但是不能通过null直接使用遍历,相当于用null调用了其他方法,会爆粗,

所以对判断唯一性的方法进行修改:需要判断stu是否为null

补充:拆分题干:

7、对于判断id写一个方法:

8、删除id并遍历:

9、给指定那个学号的学生年龄加一

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/644954.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

手把手教你用深度学习做物体检测(一): 快速感受物体检测的酷炫

我们先来看看什么是物体检测&#xff0c;见下图&#xff1a; 如上图所示&#xff0c; 物体检测就是需要检测出图像中有哪些目标物体&#xff0c;并且框出其在图像中的位置。 本篇文章&#xff0c;我将会介绍如何利用训练好的物体检测模型来快速实现上图的效果&#xff0c;这里…

Pyside6中QTableWidget使用

目录 一&#xff1a;介绍&#xff1a; 二&#xff1a;演示 一&#xff1a;介绍&#xff1a; 在 PySide6 中&#xff0c;QTableWidget 是一个用于展示和编辑表格数据的控件。它提供了在窗口中创建和显示表格的功能&#xff0c;并允许用户通过单元格来编辑数据。 要使用 QTabl…

什么是功能测试?原因、方式和类型

功能测试是软件开发和部署之间的检查点。每次点击和每次交互都需要严格的功能测试过程。这不仅仅是为了识别错误&#xff0c;更是为了确保无缝、以用户为中心的体验。完善您的方法并提供功能强大、令人印象深刻且吸引人的软件所需的见解。 什么是功能测试 首先&#xff0c;功能…

多线程批量同步数据到ES

需求背景&#xff1a;新增了ES&#xff0c;现在要讲数据库某张表的数据同步到ES中&#xff0c;百万级的数据量一次性读取同步肯定不行&#xff0c;所以可以用多线程同步执行同步数据。 1.线程池配置类 Configuration public class ThreadPoolConfig {/*** 核心线程池大小*/pr…

C语言学习(5)—— 数组

一、一维数组 1. 基本数据类型的数组 数组的定义&#xff1a;数据类型 数组名 [数组大小]; 数组名就代表该数组的首地址&#xff0c;即a[0]的地址 使用下标来访问数组元素 数组是多个相同类型数据的组合&#xff0c;一个数组一旦定义了&#xff0c;其长度是固定的&…

开源模型应用落地-业务整合篇(四)

一、前言 通过学习第三篇文章,我们已经成功地建立了IM与AI服务之间的数据链路。然而,我们目前面临一个紧迫需要解决的安全性问题,即非法用户可能会通过获取WebSocket的连接信息,顺利地连接到我们的服务。这不仅占用了大量的无效连接和资源,还对业务数据带来了潜在的风险。…

build.gradle标签详解

一、简介 Gradle是一个开源的构建自动化工具&#xff0c;主要用于Java、Groovy和其他JVM语言的项目。它使用一个基于Groovy或Kotlin的特定领域语言(DSL)来声明项目设置&#xff0c;从而摒弃了基于XML的繁琐配置。build.gradle是Gradle项目的核心配置文件&#xff0c;它定义了项…

系统架构设计师教程(十五)面向服务架构设计理论与实践

面向服务架构设计理论与实 15.1 SOA的相关概念15.1.1 SOA的定义15.1.2 业务流程与BPEL15.2 SOA的发展历史15.2.1 SOA的发展历史15.2.2 国内SOA的发展现状与国外对比15.2.3 SOA的微服务化发展15.3 SOA的参考架构15.4 SOA主要协议和规范15.4.1 UDDI协议15.4.2 WSDL规范15.4.3 SOA…

清理Docker环境

清理Docker环境&#xff1a;有时&#xff0c;Docker环境可能会出现一些问题&#xff0c;导致网络连接故障。您可以尝试清理Docker环境并重新启动。可以尝试运行以下命令&#xff1a; 复制 docker-compose down docker system prune -a docker-compose up docker-compose up 和…

Windows 下 TFTP 服务搭建及 U-Boot 中使用 tftp 命令实现文件下载

目录 Tftpd32/64文件下载更多内容 TFTP&#xff08;Trivial File Transfer Protocol&#xff0c;简单文件传输协议&#xff09;是 TCP/IP 协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议&#xff0c;提供不复杂、开销不大的文件传输服务&#xff0c;端口号为 6…

Vue.js动画库

1、vue2-animate https://animate.style/ 地址&#xff1a;https://www.npmjs.com/package/vue2-animate一个可以在你的网站中即用型跨浏览器动画库&#xff0c;非常适合主页、滑块和动画引导提示。这是Animate.css 的一个端口&#xff0c;用于 Vue.js 2.0/3.0 和Alpines.js …

免费SSL申请和自动更新

当前是在mac下操作 安装certbot # mac下brew安装即可 brew install certbotcentos 安装 centos安装文档 申请泛解析证书 sudo certbot certonly --manual --preferred-challengesdns -d *.yourdomain.com## 输出 Saving debug log to /var/log/letsencrypt/letsencrypt.lo…

[Android] Android文件系统中存储的内容有哪些?

文章目录 前言root 文件系统/system 分区稳定性:安全性: /system/bin用来提供服务的二进制可执行文件:调试工具:UNIX 命令&#xff1a;调用 Dalvik 的脚本(upall script):/system/bin中封装的app_process脚本 厂商定制的二进制可执行文件: /system/xbin/system/lib[64]/system/…

Web前端主题色更换实现方式全解析(二)

Web前端主题色更换实现方式全解析&#xff08;一&#xff09; Web前端主题色更换实现方式全解析&#xff08;二&#xff09; 文章目录 一、基于前端框架的主题色切换1. Vue.js实现方式1.1 使用Vue的动态样式绑定1.2 结合Vuex管理主题色状态1.3 示例代码与效果展示 2. 前端框架通…

plink2R

您尝试安装的 plink2R 包与您当前的R版本不兼容。错误消息表明&#xff0c;该包可能没有为您当前的R版本提供。 为了解决这个问题&#xff0c;您可以尝试以下方法&#xff1a; 更新R版本&#xff1a;考虑升级到最新版本的R&#xff0c;因为新版本的R可能支持 plink2R 包。您可…

代码随想录算法训练营Day37|738.单调递增的数字、贪心算法总结

目录 738.单调递增的数字 方法一&#xff1a;暴力解法 方法二&#xff1a;贪心解法 贪心算法总结 738.单调递增的数字 题目链接 文章链接 方法一&#xff1a;暴力解法 class Solution { private:// 各位递增判断函数bool checkNum(int num) {int max 10;while (num) {int …

6.php开发-个人博客项目Tp框架路由访问安全写法历史漏洞

目录 知识点 php框架——TP URL访问 Index.php-放在控制器目录下 ​编辑 Test.php--要继承一下 带参数的—————— 加入数据库代码 --不过滤 --自己写过滤 --手册&#xff08;官方&#xff09;的过滤 用TP框架找漏洞&#xff1a; 如何判断网站是thinkphp&#x…

nvm安装与使用教程

目录 nvm是什么 nvm安装 配置环境变量 更换淘宝镜像 安装node.js版本 nvm list available 显示可下载版本的部分列表 nvm install 版本号 ​编辑 nvm ls 查看已经安装的版本 ​编辑 nvm use 版本号(切换想使用的版本号) nvm是什么 nvm是node.js version management的…

2023全球固态硬盘SSD总结与展望

根据有关市场研究机构的报告显示&#xff0c;全球固态硬盘&#xff08;SSD&#xff09;市场预计将以15.4%的复合年增长率增长&#xff0c;并将在2030年底从2023年的4560万美元增至12430万美元。近年来&#xff0c;由于技术进步和对高性能存储解决方案需求的增长&#xff0c;该市…