Java練習(xí)題集

1、古典問題:有一對兔子蛤织,從出生后第 3 個月起每個月都生一對兔子,小兔子長到第三 個月后每個月又生一對兔子鸿染, 假如兔子都不死指蚜,問每個月的兔子總數(shù)為多少?這是一個菲波拉契數(shù)列問題

public class No1 {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("請輸入要計算的月份數(shù):");
        int N = sc.nextInt();//月份
        int[] sum = new int[N];
        for(int i = 0; i < N; i++){
            if(i == 1 || i == 0){
                sum[i] = 1;
                System.out.println("第"+ (i+1) +"個月有"+ sum[i] +"對兔子");
            }
            else{
                sum[i] = sum[i - 1] + sum[i - 2];
                System.out.println("第"+ (i+1) +"個月有"+ sum[i] +"對兔子");
            }
        }
    }
}

2牡昆、判斷 101-200 之間有多少個素數(shù)姚炕,并輸出所有素數(shù)摊欠。 程序分析:判斷素數(shù)的方法:用一個數(shù)分別去除 2 到 sqrt(這個數(shù)),如果能被整除柱宦, 則表明 此數(shù)不是素數(shù)些椒,反之是素數(shù)。

    public static void main(String[] args) {
        int count = 0;
        int j = 0;
        for(int i = 101; i < 200; i++){
            for ( j = 2; j < i; j++) {
                // 如果j能被i整除就跳出循環(huán) 
                if (i % j == 0)
                    break;
                
            }
            //判斷循環(huán)是否提前跳出掸刊,如果j<i說明在2~j之間,i有可整除的數(shù)  
            if ( j >= i) {
            count++;
            System.out.println("素數(shù)為:"+ i);
            }
            
        }
        System.out.println("101-200之間有"+ count +"個素數(shù)");
    }
}

3免糕、打印出所有的 "水仙花數(shù) ",所謂 "水仙花數(shù) "是指一個三位數(shù)忧侧,其各位數(shù)字立方和 等于該數(shù)本身石窑。例如:153 是一個 "水仙花數(shù) ",因為 153= 1的三次方+5的三次方+3的 三次方蚓炬。

public class No3 {

    public static void main(String[] args) {
        System.out.print("水仙花數(shù): ");
        for(int i = 1; i <= 9; i++){
            for(int j = 0; j <= 9; j++){
                for(int k = 0; k <= 9; k++){
                    int num = i * 100 + j * 10 + k;
                    if(num == i*i*i + j*j*j + k*k*k){
                        System.out.print(num+"\t");
                    }
                }
            }
        }
    }
}

4松逊、將一個正整數(shù)分解質(zhì)因數(shù)。例如:輸入 90,打印出 90=233*5肯夏。 程序分析:對 n 進行分解質(zhì)因數(shù)经宏,應(yīng)先找到一個最小的質(zhì)數(shù) k,然后按下述步驟完成:
*(1)如果這個質(zhì)數(shù)恰等于 n驯击,則說明分解質(zhì)因數(shù)的過程已經(jīng)結(jié)束烁兰,打印出即可。
*(2)如果 n <> k徊都,但 n 能被 k 整除沪斟,則應(yīng)打印出 k 的值,并用 n 除以 k 的商,作為新的正整數(shù) 你n,重復(fù)執(zhí)行第一步暇矫。
*(3)如果 n 不能被 k 整除主之,則用 k+1 作為 k 的值,重復(fù)執(zhí)行第一步。

public class No4 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int N = sc.nextInt();
        System.out.print(N + " = ");
        //循環(huán)判斷
        for (int k = 2; k <= N; k++) {
            while (N != k) {
                if (N % k == 0) {
                    System.out.print(k + "*");
                    N = N / k;
                } else {
                    break;
                }
            }
        }
        System.out.print(N); // 打印出最后一個數(shù)
    }

5李根、利用條件運算符的嵌套來完成此題:學(xué)習(xí)成績> =90 分的同學(xué)用 A 表示杀餐,60-89 分之 間的用 B 表示,60 分以下的用 C 表示朱巨。

public class No5 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        while(true){
            System.out.println("請輸入成績:");
            int num = sc.nextInt();
            if(num > 100 || num < 0){
                System.out.println("數(shù)據(jù)有誤史翘,請輸入0—100的數(shù)據(jù)。");
            }
            else{
                String grade = (num >= 90) ? "A" : (num >= 60) ? "B" : "C";
                System.out.println(grade);
            }
        }
    }
}

6冀续、輸入兩個正整數(shù) m 和 n琼讽,求其最大公約數(shù)和最小公倍數(shù)。 /*在循環(huán)中洪唐,只要除數(shù)不等于 0钻蹬,用較大數(shù)除以較小的數(shù),將小的一個數(shù)作為下一輪循環(huán)的 大數(shù)凭需,取得的余數(shù)作為下一輪循環(huán)的較小的數(shù)问欠,如此循環(huán)直到較小的數(shù)的值為 0肝匆,返回較大 的數(shù),此數(shù)即為最大公約數(shù)顺献,最小公倍數(shù)為兩數(shù)之積除以最大公約數(shù)旗国。 /

public class No6 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("請輸入兩個正整數(shù) m 和 n");
        int m = sc.nextInt();
        int n = sc.nextInt();

        int max = run(m,n);
        System.out.println("最大公約數(shù):" + max);
        int min = m * n / max;
        System.out.println("最小公倍數(shù)為:" + min);
    }

    public static int run(int m, int n) {
        //判斷大小交換位置  使m > n
        if (m < n) {
           int t = m;
            m = n;
            n = t;
        }

        while (n != 0) {
            //如果兩個數(shù)相等 就返回它本身
            if (m == n)
                return m;
            else {
                int k = m % n;
                m = n;
                n = k;
            }
        }
        return m;
    }
}

7、輸入一行字符注整,分別統(tǒng)計出其中英文字母能曾、空格、數(shù)字和其它字符的個數(shù)肿轨。

public class No7 {
    public static void main(String[] args){
        System.out.println("請輸入一行字符寿冕,分別統(tǒng)計出其中英文字母、空格椒袍、數(shù)字和其它字符的個數(shù)");
        tiqv();

    }

    private static void tiqv() {
        Scanner sc = new Scanner(System.in);
        String str = sc.nextLine();
        int num = 0,kong = 0,zimu = 0,other = 0;
        //將字符串轉(zhuǎn)化為字符數(shù)組
        char[] charr = str.toCharArray();
        for(int i = 0; i < charr.length; i++){
            //Character.isDigit判斷數(shù)組中是否有數(shù)字
            if(Character.isDigit(charr[i])){
                num++;
            }
            //Character.isSpaceChar判斷數(shù)組中是否有空格
            else if(Character.isSpaceChar(charr[i])){
                kong++;
            }
            //Character.isLetter判斷字符數(shù)組中的字母
            else if(Character.isLetter(charr[i])){
                zimu++;
            }else{
                other++;
            }
        }
        System.out.println("英文字母有:" + zimu + "個");
        System.out.println("空格有:" + kong + "個");
        System.out.println("數(shù)字有:" + num + "個");
        System.out.println("其他字符有:" + other + "個");
    }
}

8驼唱、求 s=a+aa+aaa+aaaa+aa...a 的值,其中 a 是一個數(shù)字驹暑。例如 2+22+222+2222+22222(此 時共有 5 個數(shù)相加)曙蒸,幾個數(shù)相加有鍵盤控制。

public class No8 {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        System.out.println("請輸入要相加的數(shù)字a(0--9)和相加的次數(shù)b");
        int a = sc.nextInt();//輸入的數(shù)字
        int b = sc.nextInt();//輸入幾個數(shù)相加
        int s = 0;//相加的和
        int d = 0;
        for(int i = 0; i < b; i++){
            d = d + a;
            s = d + s;
            a = a * 10;
        }
        System.out.println("相加的總和:"+s);
    }
}

9岗钩、一個數(shù)如果恰好等于它的因子之和,這個數(shù)就稱為 "完數(shù) "肖油。例如 6=1+2+3.編 程 找出 1000 以內(nèi)的所有完數(shù)兼吓。

public class No9 {
    public static void main(String[] args){
        for (int i = 1; i < 1000; i++)
        {
            int sum = 0;
            for (int j = 1; j < i; j++)
            {
                if(i % j == 0)
                {
                    sum += j;
                }
            }
            if(i == sum)
            {
                System.out.println("完數(shù):" + i);
            }
        }
    }
}

10、一球從 100 米高度自由落下森枪,每次落地后反跳回原高度的一半视搏;再落下,求它在 第 10 次落地時县袱,共經(jīng)過多少米浑娜?第 10 次反彈多高?

public class No5 {
    public static void main(String[] args){
        double h = 100.0;
        double s = 100.0;
        for(int i = 0; i < 10; i++){
            h = h /2;
            s += 2 * h;
        }
        System.out.println(h);
        System.out.println(s);
    }
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末式散,一起剝皮案震驚了整個濱河市筋遭,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌暴拄,老刑警劉巖漓滔,帶你破解...
    沈念sama閱讀 212,454評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異乖篷,居然都是意外死亡响驴,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,553評論 3 385
  • 文/潘曉璐 我一進店門撕蔼,熙熙樓的掌柜王于貴愁眉苦臉地迎上來豁鲤,“玉大人秽誊,你說我怎么就攤上這事×章猓” “怎么了锅论?”我有些...
    開封第一講書人閱讀 157,921評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長日熬。 經(jīng)常有香客問我棍厌,道長,這世上最難降的妖魔是什么竖席? 我笑而不...
    開封第一講書人閱讀 56,648評論 1 284
  • 正文 為了忘掉前任耘纱,我火速辦了婚禮,結(jié)果婚禮上毕荐,老公的妹妹穿的比我還像新娘束析。我一直安慰自己,他們只是感情好憎亚,可當我...
    茶點故事閱讀 65,770評論 6 386
  • 文/花漫 我一把揭開白布员寇。 她就那樣靜靜地躺著,像睡著了一般第美。 火紅的嫁衣襯著肌膚如雪蝶锋。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,950評論 1 291
  • 那天什往,我揣著相機與錄音扳缕,去河邊找鬼。 笑死别威,一個胖子當著我的面吹牛躯舔,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播省古,決...
    沈念sama閱讀 39,090評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼粥庄,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了豺妓?” 一聲冷哼從身側(cè)響起惜互,我...
    開封第一講書人閱讀 37,817評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎琳拭,沒想到半個月后载佳,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,275評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡臀栈,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,592評論 2 327
  • 正文 我和宋清朗相戀三年蔫慧,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片权薯。...
    茶點故事閱讀 38,724評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡姑躲,死狀恐怖睡扬,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情黍析,我是刑警寧澤卖怜,帶...
    沈念sama閱讀 34,409評論 4 333
  • 正文 年R本政府宣布,位于F島的核電站阐枣,受9級特大地震影響马靠,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜蔼两,卻給世界環(huán)境...
    茶點故事閱讀 40,052評論 3 316
  • 文/蒙蒙 一甩鳄、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧额划,春花似錦妙啃、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,815評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至抑胎,卻和暖如春燥滑,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背阿逃。 一陣腳步聲響...
    開封第一講書人閱讀 32,043評論 1 266
  • 我被黑心中介騙來泰國打工铭拧, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人盆昙。 一個月前我還...
    沈念sama閱讀 46,503評論 2 361
  • 正文 我出身青樓,卻偏偏與公主長得像焊虏,于是被迫代替她去往敵國和親淡喜。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,627評論 2 350

推薦閱讀更多精彩內(nèi)容

  • 50道經(jīng)典Java編程練習(xí)題诵闭,將數(shù)學(xué)思維運用到編程中來炼团。抱歉哈找不到文章的原貼了,有冒犯的麻煩知會聲哈~ 1.指數(shù)...
    OSET我要編程閱讀 6,952評論 0 9
  • 【程序1】 題目:古典問題:有一對兔子疏尿,從出生后第3個月起每個月都生一對兔子瘟芝,小兔子長到第三個月后每個月又生一對兔...
    開心的鑼鼓閱讀 3,311評論 0 9
  • 1.指數(shù)計算問題 有一對兔子,從出生后第3個月起每個月都生一對兔子褥琐,小兔子長到第三個月后每個月又生一對兔子锌俱,假如兔...
    愛java的三羅閱讀 640評論 -1 2
  • Java經(jīng)典問題算法大全 /*【程序1】 題目:古典問題:有一對兔子,從出生后第3個月起每個月都生一對兔子敌呈,小兔子...
    趙宇_阿特奇閱讀 1,852評論 0 2
  • 偶然看到一份javase的練習(xí)題贸宏,mark一下造寝,以后練習(xí)下 【程序1】 題目:古典問題:有一對兔子,從出生后第3個...
    null_meng閱讀 405評論 2 1