随笔分类 - Java_Cater
包括Java课堂笔记和作业
摘要:题目1:
输入某年某月某日,判断这一天是这一年的第几天?
分析:
以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份大于3时需考虑多加一天。
代码:
阅读全文
摘要:题目一:
求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。
例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。
分析:
对于少量的简单数据,此题很简单就可以实现。但是如果给出的数据较大,比如超过 int 的范围就无法计算出正确结果。因此,需要实现高精度的加法。
用两个分别存放加数、被加数和结果用数组模拟加法的过程。
代码:
阅读全文
摘要:一家公司按星期支付员工的工资。该公司有四种员工:拿薪水的每个星期发给他固定的工资,而不计他们的工作小时数;钟点工,按小时算,没有加班费;代理人,按销售业绩按一定的比例抽取佣金;拿薪代理人,报酬为基本工资+销售额的一定比例的佣金。本月公司决定为那薪金的代理增加10%的基本工资。公司希望写一个Java程序来动态的计算工资。
阅读全文
摘要:一.作业描述
根据需要我们来模拟下面的场景:
我们需要建立一个制造工厂,里面有很多各种各样的工人,比如:
生产工人:可以制造原材料,加工塑形等。
生产经理:比生产工人高级,还具有管理指挥能力。
搬运工人:搬运货物。
维修工人:维修生产设备(比如车床,汽车等设备)
为了提高工厂的生产效率,厂长提出要改革工厂生产方式实施一些自动化设备。则要求
如下:
1 每个生产工人都必须知道使用自动化设备
2 每个维修工人必须除了使用自动化设备外,必须还有知道维修信息化设备(如电脑)
3 搬运工人要学会使用搬运机械提高搬运能力
此外针对安全要求,安全部门提出每个人必须都具备基本逃生能力(后续可能会要求具有使用逃生设备的能力)
阅读全文
摘要:一.作业描述
编写一个21点的扑克游戏——程序显示玩家和庄家(计算机)手中的第一张牌。21点思想是:尽可能的使手中的牌的总点数尽可能的接近21点,但不要超过21点。花牌(J、Q、K)为10点,其他牌的点数与其基数相同。 A的数可以是1点也可以是11点,由玩家来确定。庄家(计算机)手中的牌总点数不能少于17点,如果少就必须要一张牌。如果庄家总点数超过21点则爆庄,玩家胜利,反之庄家(计算机)胜利
二.代码
阅读全文
摘要:Lesson_9
多态
2013-01-19
note by CocoonFan
一.方法的覆盖 -- 多态
1.前提:一定要有继承
2.子类的方法和父类的方法名相同,参数不同就构成方法的重载
3.如果子类的方法和父类的方法完全一样就构成了方法的覆盖(override)
4.父类引用指向子类对象,即父类对象调用子类"覆盖"的方法(多态)
阅读全文
摘要:一.作业描述
定义一个名为Vehicles(交通工具)的基类,该类中应包含String类型的成员属性brand(商标)和color(颜色),还应包含成员方法run(行驶,在控制台显示“我已经开动了”)和showInfo(显示信息,在控制台显示商标和颜色),并编写构造方法初始化其成员属性。
编写Car(小汽车)类继承于Vehicles类,增加int型成员属性seats(座位),还应增加成员方法showCar(在控制台显示小汽车的信息),并编写构造方法。
编写Truck(卡车)类继承于Vehicles类,增加float型成员属性load(载重),还应增加成员方法showTruck(在控制台显示卡车的信息),并编写构造方法。
在main方法中测试以上各类。
阅读全文
摘要:Lesson_8 -- 课堂练习
通讯工具
13-01-18
by CocoonFan
Mobile 类和 FixTelephone 类继承于Communication类
父类有显示本机号码,打电话,挂断的功能.子类模拟手机发短信,传真发
传真等功能
阅读全文
摘要:Lesson_8_1
*
继承(inheritance)
13-01-18
note by CocoonFan
一.内存
1.代码存放在代码段;
局部变量和基本数据类型存放于栈;
引用类型存放于堆中;
静态变量(static)、字符串存放于数据段。
二.继承 -- 代码的重用
1.利用现有的类(基类或父类)创建新的类(派生类或父类)
2.派生类:基类的方法 + 附加的方法
3.层次越高越抽象
4.[访问修饰符] class 派生类名 extends 基类名 {}
5.Java只支持单继承
6.父类中的构造方法不能被子类继承
7.子类的构造方法只需要考虑自己的成员变量,不必考虑父类的成员变量
8.实例化子类对象的时候,先执行父类的构造方法再执行子类的构造方法
有多级构造方法的时候类似.此时会创建匿名的父类对象,之后JVM会
阅读全文
摘要:一.作业描述
为“无名的粉”写一个类:class WuMingFen 要求:
1.有三个属性:面 码: String theMa
粉的分量(两):int quantity
是 否 带 汤 :boolean likeSoup
2.写一个构造方法,以便于简化初始化过程,如:
WuMingFen f1 = new WuMingFen("牛肉",3,true);
3.重载构造方法,使得初始化过程可以多样化:
WuMingFen f2 = new WuMingFen("牛肉",2);
4.如何使得下列语句构造出来的粉对象是酸辣面码、2两、带汤的?
WuMingFen f3 = new WuMingFen();
5.写一个普通方法:check(),用于查看粉是否符合要求。即:将对象的三个属性打印在控制台上。
二.代码
阅读全文
摘要:一.作业描述
定义一个网络用户类,要处理的信息有userName、password、email。提供一个构造方法,把userName、password作为构造方法的参数传入,如果password为空,
则给出默认值8888。对password和email,要提供setXXX()方法。另外给出所有成员变量的getXXX()方法。最后再重载第二个构造方法,该方法只需要传入userName即可.
二.代码
阅读全文
摘要:一.作业描述
定义一个司机类Driver,有属性为 年龄、驾龄、工资;方法:开车的方法driverCar ,该方法应该可以驾驶各种交通工具。定义几种交通工具类如:Bus、Car、Motor、Plane等,给这些交通工具定义属性有:name、speed等,提供一个显示当前状态的方法(打印当前工具的速度等信息即可),
编写一个类测试上述类的使用。
阅读全文
摘要:Lesson_7_2
方法的重载
13-01-17
note by CocoonFan
一.方法的重载(Overload)
1.条件:
1).在同一个类里面
2).同名不同参(参数的类型,参数的个数,参数的顺序)
2.返回值和参数名不影响
3.System.out.println(); 运用了方法重载
4.构造方法重载,使初始化对象更加灵活
5.避免将完全不一样功能的方法进行重载
阅读全文
摘要:一.静态成员变量(static)
1.当方法加上static后该方法不在属于对象而属于 "类"
2.无需实例化就可以使用(例如Math类就是这样实现的)
3.规范命名 类名.类变量名 或者 类名.类方法名
4.类变量只有一份内存拷贝,所有方法共享该变量
5.可以通过类名访问变量,也可以通过对象来访问变量.
但是无论以哪种方法,都是访问的同一个变量.
6.静态成员方法不能访问非静态变量
二.打包(类似于文件夹)package -- 避免重名
1.包名是第一条语句(注释和空白字符除外)
2.package X.XX.XXX;
3.eclipse中尽量不要使用默认包,使用后其他包使用不了
4.包的取名
三.导包--import
1.方式一:import 包名
2.方式二.显式地导入(全名称限定): 完整包名.类名
3.eclipse 中导包快捷键: ctrl + shift + o
阅读全文
摘要:Account.java文件中定义了一个银行帐户类Account,其中包括了帐户名属性accountName、存款余额属性amount、存款方法deposit(double money)。阅读并理解这个类,并为其增加一个“取款”方法withdraw():当存款余额大于取款金额时,执行取款修改余额;当存款余额小于取款金额时,不执行取款;以返回值0表示取款成功,返回值1表示取款不成功。
阅读全文
摘要:定义了一个学生的类Student,包括成员变量“学号”、“班号”、“姓名”、“性别”、“年龄”,成员方法:“获得学号”、“获得班号”、“获得性别”、“获得姓名”、“获得年龄”。请为Student类定义构造函数初始化所有的成员变量。增加一个方法“修改年龄”。
boolean setStudentAge(int newAge)。新年龄如果在1至100岁的话,将原来年龄修改为新年龄,并返回修改成功true的信息。如果超出范围,显示“非法学生年龄”,并返回false的信息.定义了一个学生的类Student,包括成员变量“学号”、“班号”、“姓名”、“性别”、“年龄”,成员方法:“获得学号”、“获得班号”、“获得性别”、“获得姓名”、“获得年龄”。请为Student类定义构造函数初始化所有的成员变量。增加一个方法“修改年龄”。
boolean setStudentAge(int newAge)。新年龄如果在1至100岁的话,将原来年龄修改为新年龄,并返回修改成功true的信息。如果超出范围,显示“非法学生年龄”,并返回false的信息.
阅读全文
摘要:Lesson_6_2
面向对象基础(2)--封装
一条鱼
13-01-16
note by CocoonFan
一、面向对象优点
1、便于程序模拟现实世界中的实体(类实现)
2、隐藏细节
对象的行为和属性被封装在类的里面,外界不需要关注内部
的实现细节。
3、可重用:通过类的模板,创建多个类的对象
阅读全文
摘要:Lesson_6_1
模拟:张三正开着一辆红色的法拉利进行百米加速
13-01-16
note by CocoonFan
阅读全文
摘要:创建一个圆心类,圆心类中包含两个属性x,y坐标float类型。
请在圆心类中创建两个带参数的构造方法(第一个带有x的参数,第二个带有x和y)。第二个构造方法中调用第一个构造方法。
然后创建一个圆类,圆类中包含一个属性r半径float类型。
请在圆类中同样提供构造方法。并且提供两个方法,一个用来返回面积,一个用来返回周长。
最后写个测试类,创建出一个圆,同时计算出其面积。
阅读全文
摘要:编写Java程序,模拟简单的计算器。
定义名为Number的类,其中有两个整型数据成员n1和n2,应声明为私有。编写构造方法,赋予n1和n2初始值,再为该类定义加(addition)、减(subtraction)、乘(multiplication)、除(division)等公有成员方法,分别对两个成员变量执行加、减、乘、除的运算。
在main方法中创建Number类的对象,调用各个方法,并显示计算结果。
阅读全文

浙公网安备 33010602011771号