原创 CCF試題 201604-2 俄羅斯方塊

問題描述 俄羅斯方塊是俄羅斯人阿列克謝·帕基特諾夫發明的一款休閒遊戲。   遊戲在一個15行10列的方格圖上進行,方格圖上的每一個格子可能已經放置了方塊,或者沒有放置方塊。每一輪,都會有一個新的由4個小方塊組成的板塊從方格圖的上方

原创 關於初學Java所遇到的一系列問題

關於初學Java所遇到的一系列問題 問題1:關於for循環中執行了continue 語句之後,後面的i++還是否執行的問題 例如有這樣一段代碼: int i; for (i = 0; i < 5; i++) { if (i ==

原创 Java中的線程池以及Lambda表達式的應用

一、線程池 1、什麼是線程池 自定義的線程類不管是繼承Thread類還是實現Runnable接口,都需要重寫Run方法,而且每一個線程對象有且只能執行一次,之後就會被銷燬,使用起來就比較麻煩。 線程池是可以容納多個線程的容器,程序

原创 CCF試題 201903-2 二十四點

題目描述 這道題目的主要解題思想是用堆棧來解決四則運算的優先級問題。 本題的關鍵點在於如何正確處理運算符的優先級問題,可以使用兩個棧來解決這個問題。一個是運算數棧,另一個是運算符棧。 在遍歷當前算術表達式字符串時會有五種情況:

原创 CCF試題 201903-1 小中大 沒得滿分的原因

問題描述 這一道試題並不難,但是好多小夥伴寫完之後提交上去發現並沒能得到100分,問題出在哪裏了呢?我稍微總結了一下,大概分爲以下幾點: 沒有嚴格按照題目要求的格式進行輸出 題目中要求對於整數要直接輸出整數,對於可能出現的分

原创 CCF試題 201609-3 爐石傳說

一、問題描述 《爐石傳說:魔獸英雄傳》(Hearthstone: Heroes of Warcraft,簡稱爐石傳說)是暴雪娛樂開發的一款集換式卡牌遊戲(如下圖所示)。遊戲在一個戰鬥棋盤上進行,由兩名玩家輪流進行操作,本題所使用的

原创 Java網絡編程之TCP協議數據傳輸

一、TCP協議概述 TCP協議是相對於UDP比較穩定的傳輸協議,這裏存在三次握手,來確保連接狀態,同時有明確的客戶端和服務端之分。 TCP服務中需要服務器端先啓動,需要監聽指定端口,等待客戶端的連接。 客戶端主動連接服務器,和服務

原创 Java 網絡編程的相關知識

一、網絡編程概述 1、C/S 和 B/S C/S 是客戶端-服務器軟件結構,服務提供商給予用戶服務需要準備的內容。 各大平臺的客戶端 Android iOS PC Windows Linux macOS 服務器提供服務 軟件更新

原创 Java網絡編程之UDP協議數據傳輸

一、UDP數據傳輸方式 數據傳遞採用數據包方式傳遞,所有的數據要進行打包操作,並且沒有對應的客戶端服務器概念,有且只有發送段和接收端。 Socket 套接字 數據需要進行傳遞操作,在數據傳遞的兩臺計算機當中必須有對應的Socket

原创 Java中的多線程和線程安全問題

一、多線程 1、多線程的優缺點 優點 1. 提升資源利用率 2. 提高用戶體驗 缺點: 1. 降低了其他線程的執行概率 2. 用戶會感受到軟件的卡頓問題 3. 增加的系統,資源壓力 4. 多線程情況下的共享資源問題,線

原创 Java中泛型的使用

一、什麼是泛型,爲什麼引入泛型 我們在完成一個工具類的編寫後,如果這個工具類只適用於一種數據類型,那麼功能代碼的複用程度不夠。如果需要更換數據類型,只能重新完成對應數據類型的功能代碼。有可能出現各式各樣的類型,工作是重複的,既耽誤

原创 有關代碼塊和類的加載的習題

前言:想要徹底弄明白此類題目,需要把各種代碼塊的區別和類的加載順序搞明白。只要這些真正明白了,那題目再怎麼變動也都不過如此。 一、代碼塊 1、構造代碼塊(動態代碼塊) 構造代碼塊也叫動態代碼塊,位於非靜態成員變量和構造方法之間,一