JAVA面向对象程序设计(第二版) 袁绍欣 第四章答案
面向对象(上)
1.名词解释:构造方法、抽象
构造方法一般是用来初始化数据成员的,与类名相同,无返回值。
分为有参和无参数,当一个类中没有定义构造函数时,系统会给该类中加一个默认的空参数的构造函数,方便该类初始化。
构造函数可以重载。
2.对象位于内存何处?声明能引用对象的本质是什么?
对象位于堆内存中,实质是从栈空间中初始化一个引用,保存对象的地址。
3.对象和基本数据类型作为参数传递时,有什么不同?
对象传递的是它的地址,基本数据类型是值传递。
4.对象在什么时候成为垃圾对象并被释放?
对象没有任何引用时,才会成为垃圾,当系统资源不够时,垃圾会被释放。
5.final修饰符有什么用?
修饰类时表示不可被继承
修饰方法时表示方法不可被重写,对子类隐藏
修饰变量时表示变量不可被更改
7.static修饰的属性和方法有什么特点?
在堆中的公共储存单元,不属于任一个类
main函数是特殊的静态方法
8.Application程序执行时,为什么不能带后缀名?
当运行 java x.y 时
java会找 package x 下面 类 y 的 main函数运行
如果写成 java x.class
java 会找 package x 下面 类 class 的main 函数运行,显然是找不到的
10.输出下列图形
5 5 5 5 54 4 4 43 3 32 2 1
void display(n)
{if(n==1) return;for(int i=0;i<n;i++){System.out.print(n+" ");}System.out.print("\n");display(n-1);
}
11.马周游问题
在一张国际象棋棋盘上(8*8方格),骑士(knight,马)位于任意一个位置。问如何才能让骑士不重不漏的经过棋盘上的每个格?共有多少种跳法?
package com.text; //课后习题 4.11
import java.util.*;
public class Chess {public static int dx[] = {-2,-1,1,2,2,1,-1,-2};public static int dy[] = {1,2,2,1,-1,-2,-2,-1};public static int n = 5;public static int res = 0;//public static int step = 0;public static void dfs(int x,int y,boolean[][] tabu,int step){if(step == 24) {res++;System.out.println("ok");return;}tabu[x][y] = true;//step++;for(int i=0;i<8;i++){int xx = x+dx[i];int yy = y+dy[i];if(xx>=0&&xx<n&&yy>=0&&yy<n&&tabu[xx][yy]==false){//System.out.println(xx+","+yy);step++;dfs(xx,yy,tabu,step);step--;}}tabu[x][y] = false;}public static void main(String[] args) {boolean[][] tabu = new boolean[n][n];for(int i=0;i<n;i++){for(int j=0;j<n;j++){tabu[i][j] =false;}}dfs(0,0,tabu,0);System.out.println(res);}
}
这里我设置的棋盘是 5 * 5 的,答案304种,和网上给出的一样。
你问我为什么不 8 * 8 ?说多了都是泪。。。
8 * 8的我跑了好长好长时间,出不来结果,一直以为自己算法出错了,改来改去,一度崩溃。。。
实在受不了的我google了一下:
对于8 * 8棋盘,一共有26,534,728,821,064种封闭巡逻,但是到底有多少种开巡逻仍然未知 --摘自维基百科
(封闭巡逻就是跳回原位置,开巡逻就是最后可以跳到任意位置)
我算你个鬼,你个糟老头子坏得很~
转载于:https://www.cnblogs.com/lyc1226/p/10661458.html
JAVA面向对象程序设计(第二版) 袁绍欣 第四章答案相关推荐
- JAVA面向对象程序设计(第二版) 袁绍欣 第六章答案
1.this 和 super 各有几种用法? 普通的直接引用,this指向当前对象 形参与成员名字重名,用 this 来区分:子类和父类中的成员重名,使用 super 引用构造函数 2.子类对象实例化 ...
- java语言程序设计第二版课后答案吴倩_java语言程序设计课后答案 郞波 第二版 清华大学出版社...
展开全部 我有 Java面向对象程序设计 清华大学出版社 (编著 耿祥义 张跃平) 习题解答 建议e69da5e887aa62616964757a686964616f31333330326632使用文 ...
- java语言程序设计第二版 张思民_java语言程序设计(张思民编著)习题答案.doc
java语言程序设计(张思民编著)习题答案.doc 1第1章JAVA概述[1]为什么说JAVA的运行与计算机硬件平台无关解答JAVA编译器能够产生一种与计算机体系结构无关的字节指令BYTECODE,只 ...
- java语言程序设计第二版课后答案吴倩_Java语言程序设计
内容概要 <java语言程序设计:面向对象的设计思想与实践>围绕面向对象的设计思想展开主题,详细讲解了java语言基础语法.面向对象的三大特征.图形用户界面的编程方法.多线程编程.java ...
- 《游戏设计艺术(第二版)》第四章个人学习
目录 第四章 体验从游戏中诞生 定义的争吵 什么是游戏 4号透镜:惊喜 5号透镜:乐趣 6号透镜:好奇心 不,认真一些,什么才是游戏呢 7号透镜:内生价值 解决问题的入门 8号透镜:解决的问题 我们努 ...
- 大牛深入讲解!java语言程序设计第二版答案朱庆生
系统介绍 整个系统可以从功能上分为3块: 业务系统:在上游有很多的业务系统,业务系统的运行产生很多的数据,这些数据分散在很多的数据库中,大部分是MySQL数据库 数据智能平台:数据智能平台属于中台系统 ...
- java语言程序设计第二版课后答案吴倩_java语言程序设计课后答案
作业参考答案 习题一 4 .如何建立和运行 Java 程序? 首先启动文本编辑器,如记事本. UltraEdit 等,编辑程序代码,并以 .Java 作为文件 扩展名保存程序源代码:然后进入 dos ...
- “金三银四”春招指南!java语言程序设计第二版答案朱庆生
正文 这次写一下springboot与redis的结合,这里使用的是redis集群模式(主从),主从环境的搭建,请参考redis集群搭建 搭建完redis集群环境后,开始springboot之旅 1. ...
- C语言程序设计第二版呼克佑第一章C语言与程序设计课后习题简答题答案
如果对您有帮助,请您关注并点赞这篇文章,这样做会极大地激励我持续更新,祝您凛冬散尽,星河长明! 有任何错误请在评论区告诉我,我会及时回复并改正! 1.什么是程序?什么是程序设计? 程序是软件系统中不可 ...
最新文章
- xampp无法启动apache,提示terminating worker thread 0
- Vim 实用技术,第 1 部分: 实用技巧
- MySQL5.7.17源码编译安装与配置
- Dreamweaver Flash Photoshop网页设计综合应用 (智云科技) [iso] 1.86G​
- add结果 bigdecimal_java.math.BigDecimal.add(BigDecimal augend)方法
- 软件工程概论第十三周学习进度
- session在.ashx文件操作问题
- loss函数之SoftMarginLoss
- 小程序开发之图片转Base64(C#、.Net)
- 安卓设置屏幕方向后,恢复自动旋转
- Ubuntu之hadoop非分布式(单机)和伪分布式安装
- 【第56期】游戏策划:给@LK的简历分析
- SpringMVC和Structs2
- 如何用运营思维,搭建会员运营体系
- Android9怎么截图,华为mate9怎么截图/截屏 华为mate9多种截屏方法图文教程
- 使用scrapy框架爬取前程无忧
- 如何将页脚(footer)保持在页面底部
- 阿里企业邮箱:密码登录
- 半年成长 —— 任平生
- Python批量更改txt文本每行数据
热门文章
- 两个Python web框架:Django Tornado比较
- [Hadoop] - 自定义Mapreduce InputFormatOutputFormat
- 常用正则表达式,来自新浪微博的js
- USACO 3.3.2 Shopping Offers解题报告
- sublime text3 package control 报错
- InnoDB引擎与MyIASM的一点总结
- 火狐中的CSS Grid Inspector新增强大的功能
- 《淘宝网开店 拍摄 修图 设计 装修 实战150招》一一1.2 选购镜头时应注意的事项...
- sql2012一段时间无法连接报53错误
- docker高级应用之动态扩展容器空间大小