日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

JAVA面向对象程序设计(第二版) 袁绍欣 第四章答案

發布時間:2023/12/10 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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面向对象程序设计(第二版) 袁绍欣 第四章答案的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。