1. 程式人生 > 其它 >在上海樂位元組學習java的第八天

在上海樂位元組學習java的第八天

最近在學習java,學了有一個星期,說一說這個星期的收穫和總結吧!
首先我也是從一個小白做起,這個星期學習了很多,很多java基礎知識,我印象比較深刻的是基本資料型別和引用資料型別
基本資料型別是四類八種,四類是:整型,浮點型,字元型,布林型,八種分別為:byte short int long float double char
boolean,這些基本資料型別用處很大,和迴圈語句結合起來就會組成很多演算法題目。這個周也寫了很多演算法題目。比如說1–1000以內的素數求法,斐波那契數列,階乘的幾種求法等等等等,其中印象比較深刻的是約瑟夫環演算法,而且其中還有一個小故事,講的是
數學家約瑟夫,以前的時候作為將軍,帶兵打仗,又一次,他出徵的時候大敗,士兵傷亡慘重,只剩下了500人,而且敵人在不斷的進攻,他們邊打邊撤,

最後退到了一個湖邊,已經無路可退了,但是有一天船,只能坐兩個人,也就是說只有兩個人能存活,然後為了公平,約瑟夫就提出了一個辦法
從1數到500,當人被數到3的時候就被淘汰然後從下一個人開始數,就讓上天來決定誰能活下來,結果約瑟夫通過這樣的手段自己和他的朋友活了下來。故事講完了,就看一下
程式碼的實現吧

public class YueSeFuHuan {
    public static void main(String[] args) {
        boolean []b=new boolean [500];
        for (int i = 0; i < b.length; i++
) { b[i]=true; } int count=0; int len=b.length; int index=0; //開始迴圈報數 while (len>1) { if(b[index]) { //判斷當前索引出的人是否在圈中 count++; if(count==3) { count=0; len--
;//剩餘人數減一 b[index]=false; } } index++;//陣列索引遞增 //如果數完一圈,則索引清零 if(index==b.length) { index=0; } } //最後圈中剩餘一個人,只有一個人是true,所以把這個人的索引輸出出來 for (int i = 0; i < b.length; i++) { if (b[i]) { System.out.println(i); } } } }

這就是這個星期我所遇到的比較有趣和有意義的事情,引用資料型別正在加深學習,下次再說