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…

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

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

免费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/…

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的…

mfc110.dll丢失是什么意思?全面解析mfc110.dll丢失的解决方法

在使用计算机的过程中&#xff0c;用户可能会遭遇一个常见的困扰&#xff0c;即系统提示无法找到mfc110.dll文件。这个动态链接库文件&#xff08;DLL&#xff09;是Microsoft Foundation Classes&#xff08;MFC&#xff09;库的重要组成部分&#xff0c;对于许多基于Windows的…

代码随想录刷题笔记 DAY12 | 二叉树的理论基础 | 二叉树的三种递归遍历 | 二叉树的非递归遍历 | 二叉树的广度优先搜索

Day 12 01. 二叉树的理论基础 1.1 二叉树的种类 满二叉树&#xff1a;除了叶子节点以外&#xff0c;每个节点都有两个子节点&#xff0c;整个树是被完全填满的完全二叉树&#xff1a;除了底层以外&#xff0c;其他部分是满的&#xff0c;底部可以不是满的但是必须是从左到右连…

数据结构之受限线性表

受限线性表 对于一般线性表&#xff0c;虽然必须通过遍历逐一查找再对目标位置进行增、删和查操作&#xff0c;但至少一般线性表对于可操作元素并没有限制。说到这里&#xff0c;大家应该明白了&#xff0c;所谓的受限线性表&#xff0c;就是可操作元素受到了限制。 受限线性表…

【Web前端开发基础】CSS3之Web字体、字体图标、平面转换、渐变

CSS3之Web字体、字体图标、平面转换、渐变 目录 CSS3之Web字体、字体图标、平面转换、渐变一、Web字体1.1 Web字体概述1.2 字体文件1.3 font-face 规则 二、字体图标2.1 字体图标2.2 字体图标的优点2.3 图标库2.4 下载字体包2.5 字体图标的使用步骤2.6 字体图标使用注意点2.7 上…

「 典型安全漏洞系列 」06.路径遍历(Path Traversal)详解

引言&#xff1a;什么是路径遍历&#xff1f;如何进行路径遍历攻击并规避常见防御&#xff1f;如何防止路径遍历漏洞。 1. 简介 路径遍历&#xff08;Path Traversal&#xff09;是一种安全漏洞&#xff0c;也被称为目录遍历或目录穿越、文件路径遍历。它发生在应用程序未正确…

mysql生成最近24小时整点/最近30天/最近12个月时间临时表

文章目录 生成最近24小时整点生成最近30天生成最近12个月 生成最近24小时整点 SELECT-- 每向下推1行, i比上次减去1b.*, i.*,DATE_FORMAT( DATE_SUB( NOW(), INTERVAL ( -( i : i - 1 ) ) HOUR ), %Y-%m-%d %H:00 ) AS time FROM-- 目的是生成12行数据( SELECTa FROM( SELECT…

搭建《幻兽帕鲁》服务器需要怎样配置的云服务器?

随着《幻兽帕鲁》这款游戏的日益流行&#xff0c;越来越多的玩家希望能够在自己的服务器上体验这款游戏。然而&#xff0c;搭建一个稳定、高效的游戏服务器需要仔细的规划和配置。本文将分享搭建《幻兽帕鲁》服务器所需的配置及搭建步骤&#xff0c;助力大家获得更加畅快的游戏…

搭建k8s集群实战(一)系统设置

1、架构及服务 Kubernetes作为容器集群系统&#xff0c;通过健康检查重启策略实现了Pod故障自我修复能力&#xff0c;通过调度算法实现将Pod分布式部署&#xff0c;并保持预期副本数&#xff0c;根据Node失效状态自动在其他Node拉起Pod&#xff0c;实现了应用层的高可用性。 …

树的学习day01

树的理解 树是一种递归形式的调用 树是由于多个结点组成的有限集合T 树中有且仅有一个结点称为根 当结点大于1的时候&#xff0c;往往其余的结点为m个互不相交的有限个集合T1,…,Tm&#xff0c;每个互不相交的有限集合本身右是一棵树&#xff0c;称为这个根的子树 空树也是树 关…

选现货白银投资划不划算?

可以肯定的是选择现货白银投资是划算的&#xff0c;但投资者需要有足够的知识和经验&#xff0c;以及对市场的敏锐观察力。只有这样&#xff0c;投资者才能在现货白银投资中获取收益。在投资市场上&#xff0c;白银作为一种特殊的投资品种&#xff0c;一直以来都备受投资者们的…

JUC-CAS

1. CAS概述 CAS(Compare ans swap/set) 比较并交换&#xff0c;实现并发的一种底层技术。它将预期的值和内存中的值比较&#xff0c;如果相同&#xff0c;就更新内存中的值。如果不匹配&#xff0c;一直重试&#xff08;自旋&#xff09;。Java.util.concurrent.atomic包下的原…

Redis - redis.windows.conf配置文件及RDB和AOF数据持久化方案

Redis - redis.windows.conf配置文件及RDB和AOF数据持久化方案 Redis的高性能是由于其将所有数据都存储在了内存中&#xff0c;为了使Redis在重启之后仍能保证数据不丢失&#xff0c;需要将数据从内存中同步到硬盘中&#xff0c;这一过程就是持久化。 Redis支持两种方式的持久化…