JAVA编程思想第八章练习题

Java程序设计梁勇第十版第八章编程练习题 (前八章如果您有需要,直接在评论注说,我发给你)本章所有题目代码都是本人自己写的,全部自己运行成功了,可以直接复制粘贴。 这些重要都附加了英文注释,方便解析使大家明白,如果您在此阅读过程中发现程序代码有任何问题(包括代码的命名,代码逻辑,代码风格更好的建议,本人不是计算机科班生所以代码风格存在很大问题,虽然有自学过C/C++,但还是有很多不足,希望大家严格指出来,哪段代码没注释没看懂或注释不清晰,... 阅读详情

package Cycle1;

public class Application {
    public static void main(String[] args) {
        Cycle bi = new Bicycle();
        bi.ride();
        Cycle tr = new Tricycle();
        tr.ride();
        ((Tricycle) tr).run();
        Cycle un = new Unicycle();
        un.ride();
    }
}

练习3:

package Eshape;

public class Circle extends Shape {
    @Override
    public void draw() {
        System.out.println("Circle.draw()");
    }
    @Override
    public void erase() {
        System.out.println("Circle.erase()");
    }

    @Override
    public void printf() {
        System.out.println("Circle Print");
    }
}

练习4:一样

练习5:

package Cycle1;

import java.util.Random;

public class Cycle {
    public int wheels(){
        Random w = new Random();
        return w.nextInt(4);
    }
    public void ride(){
        System.out.println("Ride");
        System.out.println(wheels());
    }
}

 

练习9:

package Cycle1;
class Rodent{
    public void hop(){
        System.out.println("Rodent hopping");
    }
    public void scurry(){
        System.out.println("Rodent scurrying");
    }
    public void reproduce(){
        System.out.println("Making more Rodents");
    }

    @Override
    public String toString() {
        return "Rodent{}";
    }
}
class Mouse extends Rodent{
    @Override
    public void hop() {
        System.out.println("Mouse1");
    }

    @Override
    public void scurry() {
        System.out.println("Mouse2");
    }

    @Override
    public void reproduce() {
        System.out.println("Mouse3");
    }

    @Override
    public String toString() {
        return "Mouse{}";
    }
}
class Gerbil extends Rodent{
    @Override
    public void hop() {
        System.out.println("Gerbil1");
    }

    @Override
    public void scurry() {
        System.out.println("Gerbil2");
    }

    @Override
    public void reproduce() {
        System.out.println("Gerbil3");
    }

    @Override
    public String toString() {
        return "Gerbil{}";
    }
}
class Hamster extends Rodent{
    @Override
    public void hop() {
        System.out.println("Hamster1");
    }

    @Override
    public void scurry() {
        System.out.println("Hamster2");
    }

    @Override
    public void reproduce() {
        System.out.println("Hamster3");
    }

    @Override
    public String toString() {
        return "Hamster{}";
    }
}
public class E09 {
    public static void main(String[] args) {
        Rodent[] rodents = {
                new Mouse(),new Gerbil(),new Hamster(),
        };
        for (Rodent r :
                rodents) {
            r.hop();
            r.scurry();
            r.reproduce();
            r.toString();
        }
    }
}

 练习10:

package Cycle1;
class TwoMethods{
    public void m1(){
        System.out.println("Inside m1,calling m2");
        m2();
    }
    public void m2(){
        System.out.println("Inside m2");
    }
}
class Inherited extends TwoMethods{
    @Override
    public void m2() {
        System.out.println("Inside Inherited m2");
    }
}
public class E10 {
    public static void main(String[] args) {
        TwoMethods x = new Inherited();
        x.m1();
    }
}

class Pickle{
    Pickle() {
        System.out.println("Pickle");
    }
}
class Sandwich2 extends PortableLunch{
    Bread b = new Bread();
    Cheese c = new Cheese();
    Lettuce l = new Lettuce();
    Pickle p = new Pickle();
    Sandwich2(){
        System.out.println("Sandwich");
    }
}

public class E11 {
    public static void main(String[] args) {
        new Sandwich2();
    }
}

class Member{
    public Member(String id) {
        System.out.println("Member constructor " + id);
    }
}
class Rodent2{
    Member m1 = new Member("r1"),m2 = new Member("r2");

    public Rodent2() {
        System.out.println("Rodent constructor");
    }
    public void hop(){
        System.out.println("Rodent hopping");
    }
    public void scurry(){
        System.out.println("Rodent scurry");
    }
    public void reproduce(){
        System.out.println("Making more Rodents");
    }

    @Override
    public String toString() {
        return "Rodent";
    }
}
class Mouse2 extends Rodent2{
    Member m1 = new Member("m1"),m2 = new Member("m2");

    public Mouse2() {
        System.out.println("Mouse constructor");
    }

    @Override
    public void hop() {
        System.out.println("Mouse1");
    }

    @Override
    public void scurry() {
        System.out.println("Mouse2");
    }
    @Override
    public void reproduce() {
        System.out.println("Mouse3");
    }

    @Override
    public String toString() {
        return "Mouse{}";
    }
}
class Gerbil2 extends Rodent2{
    Member m1 = new Member("g1"), m2 = new Member("g2");
    @Override
    public void hop() {
        System.out.println("Gerbil1");
    }

    @Override
    public void scurry() {
        System.out.println("Gerbil2");
    }

    @Override
    public void reproduce() {
        System.out.println("Gerbil3");
    }

    @Override
    public String toString() {
        return "Gerbil{}";
    }
}
class Hamster2 extends Rodent2{
    Member m1 = new Member("h1"), m2 = new Member("h2");

    public Hamster2() {
        System.out.println("Hamster constructor");
    }

    @Override
    public void hop() {
        System.out.println("Hamster1");
    }

    @Override
    public void scurry() {
        System.out.println("Hamster2");
    }

    @Override
    public void reproduce() {
        System.out.println("Hamster3");
    }

    @Override
    public String toString() {
        return "Hamster{}";
    }
}
public class E12 {
    public static void main(String[] args) {
        new Hamster2();
    }

}

 练习13:(不会)

class Shared{
    private int refcount = 0;
    private static long counter = 0;
    private final long id = counter++;

    public Shared() {
        System.out.println("Creating" + this);
    }
    public void addRef(){
        refcount++;
    }
    protected void finalize(){
        if (refcount != 0)
            System.out.println("Error");
    }
    protected void dispose(){
        if (--refcount == 0){
            System.out.println("Disposing " + this);
        }
    }

    @Override
    public String toString() {
        return "Shared " + id;
    }
}

class Composing{
    private Shared shared;
    private static long counter = 0;
    private final long id = counter++;

    public Composing(Shared shared) {
        System.out.println("Creating " + this);
        this.shared = shared;
        this.shared.addRef();
    }

    protected void dispose(){
        System.out.println("disposing" + this);
        shared.dispose();
    }

    @Override
    public String toString() {
        return "Composing{" +
                + id +
                '}';
    }
}

public class ReferenceCounting {
    public static void main(String[] args) {
        Shared shared = new Shared();
        Composing[] composing = {
                new Composing(shared),
                new Composing(shared),
                new Composing(shared),
                new Composing(shared),
                new Composing(shared),
                new Composing(shared),
                new Composing(shared),
        };
        for (Composing c :
                composing) {
            c.dispose();
        }
        System.gc();
        new Composing((new Shared()));
        System.gc();
    }
}

练习14:(不会)

class RectangularGlyph extends Glyph{
    private int width = 4;
    private int height = 5;

    public RectangularGlyph(int width, int height) {
        this.width = width;
        this.height = height;
        System.out.println("RectangularGlyph.RectangularGlyph(), width = " + width + ", height = " + height);
    }
    void draw(){
        System.out.println("RectangularGlyph.draw(), area = " + width * height);
    }
}
public class E15 {
    public static void main(String[] args) {
        new RoundGlyph(5);
        new RectangularGlyph(2,2);
    }
}

引用,此引用可以指示三种不同的状态。纳入一些可以改变这些状态的方法。

class AlertStatus{
    public String getStatus(){return "None";}
}
class RedAlertStatus extends AlertStatus{
    public String getStatus(){return "Red";}
}
class YelloAlertStatus extends AlertStatus{
    public String getStatus(){return "Yello";}
}
class BlueAlertStatus extends AlertStatus{
    public String getStatus(){return "Blue";}
}
class Starship{
    private AlertStatus status = new BlueAlertStatus();
    public void setStatus(AlertStatus istatus){
        status = istatus;
    }

    @Override
    public String toString() {
        return status.getStatus();
    }
}

public class E16 {
    public static void main(String[] args) {
        Starship eprise = new Starship();
        System.out.println(eprise);
        eprise.setStatus(new RedAlertStatus());
        System.out.println(eprise);
        eprise.setStatus(new YelloAlertStatus());
        System.out.println(eprise);
    }
}

 

package Cycle1;

public class Application {
    public static void main(String[] args) {
        Cycle bi = new Bicycle();
        bi.ride();
        ((Bicycle) bi).balance();
        Cycle tr = new Tricycle();
        tr.ride();
        //((Bicycle)tr).balance();
        Cycle un = new Unicycle();
        un.ride();
        ((Unicycle) un).balance();
    }
}

尚学堂(java)1到13章所有练习题答案详解 文章目录尚学堂1到13章所有练习题答案详解B站网课链接第一章一、选择题三、上机操作第二章第三章第四章一、选择题二、简答题三:编程题第五章一、选择题第六章第七章一、 选择题二、 简答题第八章第九章第十章第十一章第十二章第十三章 尚学堂1到13章所有练习题答案详解 B站网课链接 配合网课食用学习效果更佳bilibili JAVA300集 尚学堂文档 第一章 一、选择题 以下( C )不是Java... 阅读详情

相关推荐

java语言程序设计基础篇第八章编程练习题

1 import java.util.Scanner; public class Main{ public static void main(String[] args){ final int row = 3; final int column = 4; Scanner input = new Scanner(System.in); double[][] num = new d

梦幻的蔷薇色 1万+

JAVA编程思想第七章练习题

package java7; class Simple{ String s; public Simple(String si){ s = si;} public String toString(){return s;} public void setString(String sNew){ s = sNew;} } class Second{ Simple simple; String s; public Second(String si){s...

哈喽 932

Java语言程序设计基础篇 第八章 课后编程答案

  原博链接:Java语言程序设计基础篇 第八章 课后编程答案   import java.util.Scanner; public class ch0801{ public static void main( String[] args ){ Rectangle r1 = new Rectangle(4,40) ; Rectangle r2 = new Rectangle(3...

u010717079的专栏 1万+

《Java程序设计基础》第8章习题

另一种是委托某个父接口的默认方法。重载是指在同一个类内定义名称相同,但参数个数或者类型不同的方法,而覆盖则是指在子类中,定义名称、参数个数与类型均与父类相同的方法,用以重写父类里同名方法的功能。(4)如果一个类继承一个父类并实现了多个接口,而从父类和接口中继承了同名的方法,此时采用“类比接口优先”的原则,即只继承父类的方法,而忽略来自接口的默认方法。(3)如果多个父接口中的同名方法都是抽象方法,则不会发生名字冲突,实现这些接口的类可以实现该同名方法即可,或者不实现该方法而将自己也声明为抽象类。

weixin_52334299的博客 821

Java编程思想练习题答案

学Java一定会看Java编程思想,其练习题更才是精华所在!

《JAVA编程思想》第四版课后习题答案及书中源代码

声明一下,我是转载别人的转载,上传在这只是方便大家 买这本书的人一定会想办法弄到书中源代码和课后习题答案,网上关于第四版的还真不多,所以就拿出来共享一下。 其实我也是从别人那里下载下来的,那个课后习题答案我还没有验证是不是正确,不过源代码是没有问题的。 源代码是有ant脚本文件的,如果你安装了ant的话,他会帮你运行一遍这些代码,我也尝试了一下,可是很烦,它的jdk版本要求是1.5,可是我的是1.6的,后来修改了ant脚本文件,但是有些章节的代码还需要其他支持,最后就放弃了,有愿意继续尝试的同志可以继续。 书中的代码第一行都有“//: initialization/Mugs.java”类似这样的注释,这句话是书源代码在initialization文件夹下的Mugs.java文件中。

Java编程思想习题

java编程思想 第十一章 练习24 使用Stirng "键" 和你选择的对象填充LinkedHashMap。然后从中提取键值对,以键排序,然后重新插入此Map import java.util.ArrayList; import java.util.Collections; import j...

318

Java编程思想练习题

看到别人共享的15积分,所以我下载下来送给大家,但是积分默认好像最少2积分,所以设置了一下。原本该免费的。

java编程思想第四版 第8章习题

java编程思想第四版 第8章指北

qq_36625612的博客 757

Java编程思想练习题答案(代码)

Java编程思想(第4班)练习题答案,为了方便需要参考的同学,分享给大家,希望能帮到大家,里面都是通过代码体现

【PyTorch版本兼容性指南】如何在不同版本中正确使用torch.nn.attention

本文详细解析了PyTorch版本兼容性问题,特别是torch.nn.attention模块在不同版本中的使用差异。针对常见的ModuleNotFoundError错误,提供了三种实用解决方案:升级PyTorch版本、使用自定义实现和源码移植方案,并分享了最佳实践建议,帮助开发者有效避免兼容性问题。

weixin_29084231的博客 472

《Java编程思想》第三章习题答案

练习10:(3) 编写一个具有两个常量值的程序,一个具有交替的二进制位1和0,其中最低有效位为0,另一个也具有交替的二进制位1和0,但是其最低有效位为1(提示:使用十六进制常量来表示是最简单的方法)。练习12:(2) 以一个所有位都为1的二进制的数字开始,先左移它,然后用无符号右移操作符对其进行右移,直至所有的二进制位都被移出为止,每移一位都要使用Integer.toBinaryStirng()显示结果。练习6:(3)在练习5的基础上,创建一个新的Dog索引,并对其赋值为spot对象。

weixin_53759045的博客 486

Matlab之fdesign的应用说明

fdesign 是 MATLAB 中用于数字滤波器设计的工具(属于),它提供了一种系统化的方式来定义滤波器参数并生成相应的滤波器。指定滤波器的频率、幅度等参数。例如,设计一个低通滤波器:Fs = 1000;% 采样率 (Hz)% 通带截止频率% 阻带截止频率Apass = 1;% 通带衰减 (dB)Astop = 60;% 阻带衰减 (dB)

嵌入式老牛的博客 1052

《java编程思想——第八章(多态)》

多态 多态是继数据抽象和继承后的第三种基本特征。 8.1 再论向上转型 /** * 基类 */ public class Instrument { public void play(Note n) { System.out.println("Instrument play()"); } } /** * 导出类 */ public class...

ByteX的博客 338

【Unity人物动画】SALSA With RandomEyes (语音生成嘴型/人物说话) 使用

SALSA使用探索 之前做项目时想做人物说话的嘴部动作,因为我们的语音是AI合成的,语音片段很多,如果能根据语音生成嘴部动画,那将极大便利我们的工作。后面是找到了SALSA的这款插件,并摸索出使用方法。 1 插件介绍 官方网站:https://crazyminnowstudio.com/ 一个能做2D纸片人和3D人物模型嘴部和眼睛动画的插件,由两人组成的独立工作室(疯狂米诺工作室)开发。 插件全名为SALSA With RandomEyes,2014年上架Asset Store,目前是已下架,替换为新版本

里约热内驴的博客 1万+

fMRI数据处理:从DICOM到NIFTI(上)

哈喽,这里是系列fMRI数据处理文章专栏。包括从核磁拷贝完DICOM格式的文件,到整理数据,检查数据,数据预处理,后续分析等等内容。如果你是一个初学者,特别是心理学或者是刚踏入认知神经科学的小白,那么这个专栏可以帮助你从头到尾完成数据处理直到结果的可视化。如果你已经进入了认知神经科学领域,这里面的内容可能过于细致,并且找不到你想要的答案,不过可以在帖子下留言评论,欢迎大家提供宝贵的意见!如果是医学相关,可能这些内不太准确或专业,谨慎参考!

weixin_44933894的博客 2482

Java编程思想笔记目录

祝各位 程序???? 节日快乐???? ![在这里插入图片描述](https://img-blog.csdnimg.cn/2020102311591445.gif#pic_center) 写在前面:   前阵子,小名“偷偷地”发了一批文章,是小名的一些读书笔记✍,那么为什么要把笔记发出来呢,嘻嘻,当然是小名的????不太灵光啦????但是吧,小名坐地铁或者走在大街上的时候,脑袋里总是会想一些有的没的,不排除会想一些Java基础的知识,时常联系不起来,就有可能别扭一整天。所以呢,把它发出来一方面是为了和大

小名同学 23万+

瑞芯微RK3588开发板VSCode远程开发全攻略:从SSH配置到插件优化

本文详细介绍了如何在瑞芯微RK3588开发板上配置VSCode远程开发环境。从Ubuntu系统下的SSH服务设置、VSCode Remote-SSH扩展安装,到连接建立、基础工具链部署,再到针对ARM平台的性能优化与调试配置,提供了一套完整的实战指南,帮助开发者高效利用本地资源进行嵌入式开发。

weixin_28831341的博客 622

《Java编程思想》读书笔记:第八章 多态

来为每种特殊类型的几何形状提供单独的行为。RandomShapeGenerator是一种“工厂”(factory),在我们每次调用next()方法时,它可以为随机选择的Shape对象产生一个引用。

Mr_Kian的博客 822

图信号处理中的多尺度分析:图小波变换与图傅里叶变换的对比与应用

本文深入探讨了图信号处理中的多尺度分析方法,重点对比了图小波变换(GWT)与图傅里叶变换(GFT)的技术特点与应用场景。通过分析图的拓扑结构,GWT展现出强大的局部洞察力,适用于异常检测和社区发现;而GFT则擅长全局频率分析,适合趋势分析和信号去噪。文章结合实战案例,为读者提供了方法选型指南和前沿进展,帮助开发者在生物信息学、社交网络分析等领域高效应用这些技术。

weixin_30369041的博客 406

Python调用CANoe(1)(启动与停止,变量和信号读写)

CANoe因为其封闭性(Vector独有),开发的时候,有很多局限性;Python 因为其开源,容易上手,功能强大,那么Python 和 CANoe结合会产生怎样的火花呢?

蚂蚁小兵 4万+

java第八章练习题(异常)

第八章练习题(异常)       1.Java语言中异常的分类是哪项?     A.运行时异常和异常     B.受检异常和非受检异常     C.错误和异常     D.错误和运行时异常        2.所有异常的父类是哪项?     A.  Throwable     B.   Error     C.  RuntimeException     D.  Except...

毕富国的博客 3636

搭建自己的MQTT服务器,实现设备上云(Ubuntu+EMQX)

这篇文章教大家在ECS云服务器上部署EMQX,搭建自己私有的MQTT服务器,配置EMQX实现设备上云,设备数据转发,存储;服务器我采用的华为云的ECS服务器,系统选择Ubuntu系统。

2万+

Java学习之第八章练习题-1

面向对象练习题,继承,super关键字,多态,动态绑定机制

wjkqq0921的博客 938

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

尚学堂·Java300集·第八章·作业题参考答案(eclipse运行结果截图+源码)

eclipse运行结果截图: 源码: /** * 尚学堂第八章练习题解答 * @author 绝尘 * *一、选择题 * 建议:将代码赋值到程序中检验。 * 答案: * 1.BD * 2.A(String类为不可变字符序列,str始终为空null) * 3.B * 4.C * 5.A * *二、简答题 * 1.自动装箱:基本数据类型数据自动转换成...

qq_44515144的博客 515

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

java编程思想

java编程思想

xzy的博客 3045

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

上一篇: JAVA编程思想第七章练习题
下一篇: JAVA编程思想第九章练习
士千i
博客等级 码龄16年 9粉丝 19原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值