寒假集训第五日课程思考
寒假集训第五日课程思考
- 前言
- 作业内容:
- 问题思考
- 以下是作业源码
- 代码1
- 代码2
- 代码3
- 作业效果展示
- 先创建一个dog1(如图)
- 开始的时候自带一只猫小白,作为测试,会打印出他的信息
- 创建完以后,在键入1,会显示已有
- 再创建dog2(如图)
- 创建完以后,在键入2,会显示已有
- 再创建cat2(如图)
- 创建完以后,在键入3,会显示已有
- 最后根据内置原则,判断是否可以养这些宠物(如图)
- 根据测试信息会发现可以养
- 键入5,退出系统(如图)
- 总结
前言
学习Java的第五天
今天学习了类和对象,以下将会讲一下自己对面向对象的理解。
之后是第五次集训作业的源码
作业内容:
设计两个类,每个类中需要有三个以上属性,get,set方法,构造器,以及额外定义三个以上的方法,思考这两个类之间如何交互,最好能体现在代码里面。
问题思考
1、什么是面向对象?
运用分类的思维模式,思考问题首先会解决问题需要分哪几类,对这些类进行单独思考。面向对象是模型化的,你只需抽象出一个类,这是一个封闭的盒子,在这里你拥有数据也拥有解决问题的方法。需要什么功能直接使用就可以了,不必去一步一步的实现。
2、什么是对象?
一系列行为与属性的一个集合
3、面向对象的程序设计与面向过程的程序设计有什么区别?
面向过程是具体化的,流程化的,解决一个问题,你需要一步一步的分析,一步一步的实现。
面向对象是模型化的,你只需抽象出一个类,这是一个封闭的盒子,在这里你拥有数据也拥有解决问题的方法。需要什么功能直接使用就可以了,不必去一步一步的实现。
面向对象的底层其实还是面向过程,把面向过程抽象成类,然后封装,方便我们使用的就是面向对象了。
4、当我们谈及面向对象时,我们所关心的是什么?
关心的是解决问题的通解,或者说是思维模式,并不关心某一问题具体怎么解决。我们关心的是建模,而不是解决某一具体问题本身
以下是作业源码
代码1
/*** 一个宠物窝系统* 可以养狗和猫* 原先有一只猫,系统会将数据读出* 上限是三只宠物,一只狗和两只猫* 当三只宠物养满后,可查看是否可养* 是否可养原则:* 1.白猫怕黑狗,不能一起养* 2.黄狗和黄猫会打架,不能一起养* <p>* 总结:上课讲到猫,突然脑洞大开......*/import com.sun.deploy.net.MessageHeader;import java.util.Scanner;public class TEXT {public static void main(String[] args) {System.out.println("下面进行一下测试,你会看到宠物窝里的小猫的数据");CAT cat1 = new CAT("小白", 1, "睡觉", "白色");System.out.println(cat1.toString());int Cnum = 1;//记录猫总数int Dnum = 0;//记录狗总数int i;boolean C1 = true;boolean D1 = false;boolean D2 = false;boolean C2 = false;boolean J = false;do {System.out.println("下面请选择功能");System.out.println("1.养狗1");System.out.println("2.养狗2");System.out.println("3.养猫2");System.out.println("4.测试是否可以养");System.out.println("5.退出系统");Scanner sc = new Scanner(System.in);DOG dog2 = new DOG();DOG dog1 = new DOG();CAT cat2 = new CAT();i = sc.nextInt();if (i == 1) {if (D1 == false) {System.out.println("输入名字");String nameD1;int ageD1;String likeD1;String colorD1;Scanner sc1 = new Scanner(System.in);nameD1 = sc1.nextLine();System.out.println("输入年龄");Scanner sc2 = new Scanner(System.in);ageD1 = sc2.nextInt();System.out.println("输入爱好");Scanner sc3 = new Scanner(System.in);likeD1 = sc3.nextLine();System.out.println("输入颜色");Scanner sc4 = new Scanner(System.in);colorD1 = sc4.nextLine();dog1.setAge(ageD1);dog1.setColor(colorD1);dog1.setName(nameD1);dog1.setLike(likeD1);Dnum++;D1 = true;} else {System.out.println("已有");}}if (i == 2) {if (D2 != true) {System.out.println("输入名字");String nameD1;int ageD1;String likeD1;String colorD1;Scanner sc1 = new Scanner(System.in);nameD1 = sc1.nextLine();System.out.println("输入年龄");Scanner sc2 = new Scanner(System.in);ageD1 = sc2.nextInt();System.out.println("输入爱好");Scanner sc3 = new Scanner(System.in);likeD1 = sc3.nextLine();System.out.println("输入颜色");Scanner sc4 = new Scanner(System.in);colorD1 = sc4.nextLine();dog2.setAge(ageD1);dog2.setColor(colorD1);dog2.setName(nameD1);dog2.setLike(likeD1);Dnum++;D2 = true;} else {System.out.println("已有");}}if (i == 3) {if (C2 != true) {System.out.println("输入名字");String nameD1;int ageD1;String likeD1;String colorD1;Scanner sc1 = new Scanner(System.in);nameD1 = sc1.nextLine();System.out.println("输入年龄");Scanner sc2 = new Scanner(System.in);ageD1 = sc2.nextInt();System.out.println("输入爱好");Scanner sc3 = new Scanner(System.in);likeD1 = sc3.nextLine();System.out.println("输入颜色");Scanner sc4 = new Scanner(System.in);colorD1 = sc4.nextLine();cat2.setAge(ageD1);cat2.setColor(colorD1);cat2.setName(nameD1);cat2.setLike(likeD1);Dnum++;C2 = true;} else {System.out.println("已有");}}if (i == 4) {int a = 0;System.out.println("判断的基准是1.白猫怕黑狗,不能一起养,黄狗和黄猫会打架,不能一起养");System.out.println("因此判断的结果是:");if (cat1.getColor() == "白色" && dog1.getColor() == "黑色") {System.out.println("不行!");a = 1;}if (cat2.getColor() == "白色" && dog1.getColor() == "黑色") {System.out.println("不行!");a = 1;}if (cat1.getColor() == "白色" && dog2.getColor() == "黑色") {System.out.println("不行!");a = 1;}if (cat2.getColor() == "白色" && dog2.getColor() == "黑色") {System.out.println("不行!");a = 1;}if (cat1.getColor() == "黄色" && dog1.getColor() == "黄色") {System.out.println("不行!");a = 1;}if (cat2.getColor() == "黄色" && dog1.getColor() == "黄色") {System.out.println("不行!");a = 1;}if (cat1.getColor() == "黄色" && dog2.getColor() == "黄色") {System.out.println("不行!");a = 1;}if (cat2.getColor() == "黄色" && dog2.getColor() == "黄色") {System.out.println("不行!");a = 1;}if (a == 0) {System.out.println("可以养!");}}if (i == 5) {J = true;}} while (J == false);}
}
代码2
public class CAT {private int age;private String like;private String color;private String name;CAT(String name, int age, String like, String color) {this.age = age;this.like = like;this.color = color;this.name = name;}CAT() {}@Overridepublic String toString() {return "CAT{" +"age=" + age +", like='" + like + '\'' +", color='" + color + '\'' +'}';}public int getAge() {return age;}public String getLike() {return like;}public String getColor() {return color;}public String getName() {return name;}public void setAge(int age) {this.age = age;}public void setLike(String like) {this.like = like;}public void setColor(String color) {this.color = color;}public void setName(String name) {this.name = name;}
}
代码3
import java.util.Scanner;public class DOG {private int age;private String like;private String color;private String name;DOG(String name, int age, String like, String color) {this.age = age;this.like = like;this.color = color;this.name = name;}DOG() {}@Overridepublic String toString() {return "DOG{" +"age=" + age +", like='" + like + '\'' +", color='" + color + '\'' +'}';}public String getName() {return name;}public int getAge() {return age;}public String getLike() {return like;}public String getColor() {return color;}public void setAge(int age) {this.age = age;}public void setLike(String like) {this.like = like;}public void setColor(String color) {this.color = color;}public void setName(String name) {this.name = name;}
}
作业效果展示
与其设计
- 一个宠物窝系统
- 有初始菜单,可交互
- 用以养狗和猫,并判断是否可以养
- 原先有一只猫,系统会将数据读出
- 上限是四只宠物,两只狗和两只猫
- 当四只宠物养满后,可查看是否可养
- 是否可养原则:
- 1.白猫怕黑狗,不能一起养
- 2.黄狗和黄猫会打架,不能一起养
- 总结:上课讲到猫,突然脑洞大开…
先创建一个dog1(如图)
开始的时候自带一只猫小白,作为测试,会打印出他的信息
创建完以后,在键入1,会显示已有
再创建dog2(如图)
创建完以后,在键入2,会显示已有
再创建cat2(如图)
创建完以后,在键入3,会显示已有
最后根据内置原则,判断是否可以养这些宠物(如图)
根据测试信息会发现可以养
键入5,退出系统(如图)
总结
都是一些粗浅而且可能是错的看法,欢迎指正。
寒假集训第五日课程思考相关推荐
- 【软件创新实验室2021年寒假集训】Java后端开发漫谈及感悟分享
系列文章目录 [软件创新实验室2021年寒假集训]汇总篇 20级Java培训 第一天:[软件创新实验室2021年寒假集训]Java技术培训--Java前置知识学习 第二天:Java基础(一) 第三天: ...
- 寒假集训三(暴力枚举)2020.01.02(11题)
寒假集训三(暴力枚举)id :521 Problem:A 二倍的问题 Description 给定2到15个不同的正整数,你的任务是计算这些数里面有多少个数对满足:数对中一个数是另一个数的两倍.比如给 ...
- 2019/1/30 寒假集训总结
从一月16号到一月29号为期两周的寒假集训已经结束了,说实话,从一开始认真对待,到最后几天出现了松懈,但仍然坚持下来.总是感觉这次集训自己做了很大的努力,直到昨天看见老费发的一篇关于去参加CCPC ...
- 【软件创新实验室2021年寒假集训】Java技术培训——Java前置知识学习
系列文章目录 [软件创新实验室2021年寒假集训]汇总篇 20级Java培训 第一天:[软件创新实验室2021年寒假集训]Java技术培训--Java前置知识学习 第二天:Java基础(一) 第三天: ...
- DP\记忆化搜索-牛客寒假集训营3-牛牛的DRB迷宫I
DP-牛客寒假集训营3-牛牛的DRB迷宫I 题目: 题意: 求迷宫问题的方案数量.与--求迷宫问题的方案数量.与--求迷宫问题的方案数量.与--DP题型总结中的<摘花生>类似.中的< ...
- 构造-牛客寒假集训营3-牛牛的DRB迷宫II
构造-牛客寒假集训营3-牛牛的DRB迷宫II 题目: 题意: 输入一个数字,表示从起点(1,1)到终点(n,m)的方案数量,输出满足条件的迷宫.输入一个数字,表示从起点(1,1)到终点(n,m)的方案 ...
- 关于构造和二进制,题目:牛牛的DRB迷宫Ⅱ(源自牛客竞赛2020年寒假集训)
关于构造和二进制,题目:牛牛的DRB迷宫Ⅱ(源自牛客竞赛2020年寒假集训) 题目: 链接:https://ac.nowcoder.com/acm/contest/3004/B 来源:牛客网 题目描述 ...
- 2019NEFU寒假集训新生考试 2020.1.6
2019NEFU寒假集训新生考试 2020.1.6 为期一周的的培训终于面临尾声,就以一场考试告终吧. A 28的因子 Description 我们都知道28的因子中含有4和7,而某些人偏爱数字4和7 ...
- 大一寒假集训(11)(12)---map,set
大一寒假集训(11)-map 1.查字典 nefu 1678 #include <bits/stdc++.h> using namespace std; map<string,int ...
最新文章
- Java中import及package的用法
- 网络编程常见问题总结
- 乐观锁和悲观锁的区别(最全面的分析)
- NIST发布网络安全劳动力框架
- STM32F103 PA8不能输出PWM波问题
- VS2010下如何改变Button颜色、背景、边框
- 今日头条iOS客户端启动速度优化
- Elasticsearch基础(一)mapping
- IOS-Run loop学习总结
- 35+大龄程序员被清退?
- Codeforces Round #435 (Div. 2) E. Mahmoud and Ehab and the function[二分]
- 再谈mysql之执行计划explain
- 苹果计算机音乐谱大全,macOS乐谱制作软件大全推荐~
- 【基础篇】Navicat让MySQL数据库可视化
- 中台架构的未来在哪—开放式架构
- 有限元分析试题:ANSYS有限元分析中级培训考题及其答案解析(填空+选择+判断+解答)
- Python爬虫实战之爬取饿了么信息
- 如何提高有效工作效率
- java 拖拉机_拖拉机(升级)必胜之秘诀 - 淡泊明志,宁静致远 - JavaEye技术网站...
- 腾讯云服务器如何挂载云硬盘(Linux版本)?