设为首页收藏本站柠檬学院官方群,每日前30名免费获取邀请码

柠檬社区

 找回密码
 立即注册
查看: 592|回复: 31

171120JavaSE作业

[复制链接]
/չ

助教--李雪花2017-11-20 23:01

发表于 2017-11-20 23:01 | 显示全部楼层 |阅读模式
本帖最后由 助教--李雪花 于 2017-11-22 15:55 编辑

1-6. (构造函数)有以下代码
class MyClass{
int value;
}
public class TestMyClass{
public static void main(String args[]){
MyClass mc1 = new MyClass();
MyClass mc2 = new MyClass(10);
System.out.println(mc1.value);
System.out.println(mc2.value);
}
}
问:这个程序能否编译通过?如果可以,输出结果是什么?如果不可以,则应该
如何修改?
游客,如果您要查看本帖隐藏内容请回复

1-7. (面向对象基础)根据注释,把下面代码补充完整
//定义一个Dog 类
class Dog{
//定义一个name 属性,该属性为String 类型
______________________;
//定义一个age 属性,该属性为int 类型
______________________;
//定义一个sexual 属性,该属性为boolean 类型
//true 表示为公,false 表示为母
______________________;
public Dog(){}
public Dog(String name, int age, boolean sexual){
//分别根据参数,设置Dog 类的属性
}
public void play(){
System.out.println(name + “ play”);
}
public void play(int n){
System.out.println(name + “ play ” + n + “ minutes”);
}
}
public class TestDog{
public static void main(String args[]){
Dog d;
//创建一个Dog 对象,利用带参数的构造函数
//名字为joy,年龄为2 岁,性别为母
_________________;
//调用Dog 对象无参的play 方法。
_________________;
//调用Dog 对象有参的play 方法,参数为30
_________________;
}
}
游客,如果您要查看本帖隐藏内容请回复

1-8. *(对象创建过程)有以下代码
class ClassA{
public ClassA(){
System.out.println("ClassA()");
}
}
class ClassB{
public ClassB(){
System.out.println("ClassB()");
}
}
class ClassC{
ClassA a = new ClassA();
ClassB b;
public ClassC(){
System.out.println("ClassC()");
b = new ClassB();
}
}
public class TestConstructor{
public static void main(String args[]){
ClassC cc = new ClassC();
}
}
请选择正确答案:
A. 编译不通过
B. 输出ClassA() ClassB() ClassC()
C. 输出 ClassA() ClassC() ClassB()
D. 输出 ClassC() ClassB() ClassA()
游客,如果您要查看本帖隐藏内容请回复

1-9. *(引用,方法参数传递)有以下代码
class ClassA{
int value;
}
public class TestClassA{
public static void main(String args[]){
int value = 10;
changeInt(value);
System.out.println(value);
ClassA ca = new ClassA();
ca.value = 10;
changeObject(ca);
System.out.println(ca.value);
}
public static void changeInt(int value){
value++;
}
public static void changeObject(ClassA ca){
ca.value++;
}
}
编译运行TestClassA 时,结果是
A. 编译出错
B. 输出 10 10
C. 输出 10 11
D. 输出 11 11
游客,如果您要查看本帖隐藏内容请回复

1-10. *(构造函数,this 关键字)程序改错
public class Student{
public void Student(){}
void init(){
age = 10;
name = "limy";
}
public Student(String name){
this.init();
this.name = name;
}
public Student(String name, int age){
this.init();
this(name);
this.age = age;
}
int age;
String name;
}
游客,如果您要查看本帖隐藏内容请回复

1-11. (面向对象基础)写一个Worker 类,并创建多个Worker 对象。
1) 为Worker 类添加三个属性,1)String 类型的name,表示工人的姓名;
2)int 类型的age,表示工人的年龄;3)double 类型的salary,表示工人
的工资。
2) 为Worker 类添加两个构造方法,1)公开无参构造方法;2)接受三个参
数的构造方法,三个参数分别为字符串、int 和double 类型。
3) 为Worker 类添加两个work 方法,一个无参,另一个带整数参数,表示
工人工作的时间(为多少小时)。
类图如下:

游客,如果您要查看本帖隐藏内容请回复

1-12. (面向对象基础)创建一个Address 类,描述如下:
1) 该类有两个属性,1)String 类型的address,表示地址;2)String 类型
的zipCode,表示邮编。
2) 该类有两个构造方法,一为无参构造方法,一为带两个参数的方法。
类图如下:

游客,如果您要查看本帖隐藏内容请回复

1-13. *(面向对象基础)为第1 题中的Worker 类添加一个属性addr,该属性为
Address 类型。
创建一个Worker 对象,其姓名为"zhangsan",年龄为25,工资为2500,家庭住
址为“北京市海淀区清华园1 号”,邮政编码为100084。
游客,如果您要查看本帖隐藏内容请回复

1-14. **(引用,方法参数传递)有以下代码
class ClassA{
int value;
}
public class ChangeRef{
public static void main(String args[]){
ClassA ca = new ClassA();
changeValue(ca);
System.out.println(ca.value);
changeRef(ca);
System.out.println(ca.value);
Worker
name:String
age:int
salary:double
Worker()
Worker(name:String,age:int,salary:double)
work();
work(hours:int)
Address
address:String
zipCode:int
Address()
Address(address:String,zipCode:String)
}
public static void changeValue(ClassA ca){
ca.value = 100;
}
public static void changeRef(ClassA ca){
ca = new ClassA();
ca.value = 200;
}
}
编译运行ChangeRef,结果为
A. 编译不通过
B. 输出100 200
C. 输出100 100
D. 输出0 200
游客,如果您要查看本帖隐藏内容请回复

1-15. (面向对象基础)**复数概念如下:
每个复数都有实部和虚部。例如,3 + 5i,3 为实部,5i 为虚部。其中,i
称为虚数单位,有i*i = -1。
两个复数进行加法运算,运算时实部与实部相加,虚部与虚部相加。例如:
(1.5 – 3i) + (2.3 + 2.4i) = (1.5+2.3) + (-3 + 2.4)i = 3.8 – 0.6i
两个复数进行减法运算,与加法运算类似。
两个复数进行乘法运算,其过程如下:
(a+bi) * (c + di) = ac + adi + bci + bd(i*i) = (ac-bd) + (ad+bc)i
例如:
(3+5i)*(4+6i)= (3*4-5*6)+(3*6+4*5)i = -18 + 38i
写一个类Complex,用来表示复数。这个复数类具有两个属性:double real,
表示实部;double im,表示虚部。并为Complex 类增加add、sub、mul 方法,
分别表示复数的加法、减法和乘法运算。其中,add 方法的声明如下:
public Complex add(Complex c) //表示当前Complex 对象与参数c 对象相

public Complex add(double real) //表示当前Complex 对象与实数real 相

游客,如果您要查看本帖隐藏内容请回复

2、面向对象的理解并举例

   eg:创建一个学生类,有学习、跑步相关方法

       姓名、性别、年龄相关属性

   要求:

      1、通过封装方式实现学生信息的输出

      2、归纳总结封装的优点
游客,如果您要查看本帖隐藏内容请回复

3、详细写出成员变量和局部变量的区别
游客,如果您要查看本帖隐藏内容请回复

4、列出构造函数和一般函数的区别
游客,如果您要查看本帖隐藏内容请回复

5、this关键字的特点以及三种应用场景,举例说明
游客,如果您要查看本帖隐藏内容请回复

6、需求: 使用java定义一个人类,人具备 id、name 、 age三个属性,

          还具备一个比较年龄的方法。

   要求: 必须 要 写上构造函数,构造函数也必须要使用上this关键字。

   通过构造函数调用初始化人类信息并输出打印
游客,如果您要查看本帖隐藏内容请回复

7、预习面向对象继承


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本楼回复(1) 收起



上一篇名称:171118JavaSE作业
下一篇名称:171122JavaSE作业
邀请码、配套资料、课后习题一键获取

Java学习交流群
回复

使用道具 举报

/չ

1703B-VIP唐黎升2017-12-7 00:59

/չ

1703-VIP郑世隆2017-11-21 23:06

/չ

1710-VIP-钟凌添2017-11-21 23:19

/չ

1705A-VIP杜建明2017-11-22 16:26

/չ

1705A-VIP陆荣将2018-4-18 16:19

/չ

1708-VIP林如佳2017-11-22 14:22

/չ

1708vip-刘佳2017-11-21 22:25

/չ

体验-1710孙欧阳2017-11-24 16:24

/չ

入门一组-刘刚2017-11-22 09:42

/չ

1710-VIP赵桢2017-11-21 14:24

/չ

1711-VIP-康峻2017-11-22 14:54

/չ

1711-VIP朱梓桦2017-11-22 00:21

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋| 柠檬社区 ( 冀ICP备11018766号-1 ) 柠檬学院官方群,每日前30名免费获取邀请码

冀公网安备 13053502000015号

GMT+8, 2018-8-19 15:24

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表