Java算法基本功練習(xí)

該篇為Java算法基本功小練習(xí)蛛倦,適合初學(xué)者練手的題债朵。

1.打印九九乘法表。

    /**
     * 打印九九乘法表
     */
    public static void multiplicationTable() {
        for (int i = 1; i <= 9; i++) {  //用i控制行锄奢,1-9行
            for (int j = 1; j <= i; j++) {  //用j控制列歼冰,j最大不超過當(dāng)前i
                System.out.print(i + "*" + j + "=" + i*j + "\t");
            }
            System.out.println();
        }
    }

運(yùn)行結(jié)果:


2.定義一個(gè)二維數(shù)組靡狞,int[2][4],要求是循環(huán)輸入8個(gè)整數(shù)隔嫡,存入到數(shù)組中甸怕,然后輸出這個(gè)數(shù)組中的最大值。

    /**
     * 定義一個(gè)二維數(shù)組腮恩,int[2][4]梢杭,要求是循環(huán)輸入8個(gè)整數(shù),存入到數(shù)組中秸滴,然后輸出這個(gè)數(shù)組中的最大值武契。
     */
    public static void arrayMax() {
        Scanner scanner = new Scanner(System.in);
        int[][] array = new int[2][4];
        for (int i = 0; i < array.length; i++) {
            for (int j = 0; j < 4; j++) {
                System.out.println("請輸入" + i + "行" + j + "列數(shù)字");
                array[i][j] = scanner.nextInt();  //獲取輸入數(shù)存在對應(yīng)行列位置
            }
        }
        int max = array[0][0]; //假定第一個(gè)數(shù)最大
        for (int i = 0; i < array.length; i++) {
            for (int j = 0; j < 4; j++) {
                if (array[i][j] > max) {  //有更大就替換
                    max = array[i][j];
                }
            }
        }
        System.out.println("最大數(shù)為:" + max);
    }

運(yùn)行結(jié)果:


3.定義一個(gè)長度為10的整型數(shù)組,循環(huán)輸入10個(gè)整數(shù)荡含。然后判斷這個(gè)數(shù)組中有幾個(gè)偶數(shù)咒唆,再定義一個(gè)正好能存放這幾個(gè)偶數(shù)的數(shù)組,將上一個(gè)數(shù)組中的所有偶數(shù)復(fù)制過來释液。最后循環(huán)輸出這些偶數(shù)全释。

    /**
     * 定義一個(gè)長度為10的整型數(shù)組,循環(huán)輸入10個(gè)整數(shù)误债。然后判斷這個(gè)數(shù)組中有幾個(gè)偶數(shù)恨溜,再定義一個(gè)正好能存放這幾個(gè)偶數(shù)的數(shù)組符衔,將上一個(gè)數(shù)組中的所有偶數(shù)復(fù)制過來。最后循環(huán)輸出這些偶數(shù)糟袁。
     */
    public static void even() {
        int[] array = new int[10];
        Scanner scanner = new Scanner(System.in);
        int evenCount = 0;
        for (int i = 0; i < array.length; i++) {
            System.out.println("輸入第" + (i+1) + "整數(shù)");
            array[i] = scanner.nextInt();
            if (array[i] % 2 == 0) {
                evenCount++;  //輸入的同時(shí)判斷是否為偶數(shù)
            }
        }
        int[] evenArray = new int[evenCount];
        evenCount = 0;
        for (int i = 0; i < array.length; i++) {
            if (array[i] % 2 == 0) {
                evenArray[evenCount] = array[i];
                evenCount++;  //記錄新偶數(shù)數(shù)組存放個(gè)數(shù)
            }
        }
        System.out.print("所有的偶數(shù)有: ");
        for (int i = 0; i < evenCount; i++) {
            System.out.print(evenArray[i] + " ");
        }
    }

運(yùn)行結(jié)果:


4.輸入一個(gè)數(shù)判斷一個(gè)數(shù)是否為質(zhì)數(shù)(只能被1和本身整除的數(shù)叫質(zhì)數(shù))

/**
     * 輸入一個(gè)數(shù)判斷一個(gè)數(shù)是否為質(zhì)數(shù)(只能被1和本身整除的數(shù)叫質(zhì)數(shù))
     */
public static void primeNumber() {
        Scanner scanner = new Scanner(System.in);
        System.out.println("請輸入一個(gè)數(shù):");
        int num = scanner.nextInt();
        int count = 0;  //記錄能被整除的數(shù)的個(gè)數(shù)
        for (int i = 1; i <= num; i++) {
            if (num % i == 0) {
                count++;
            }
        }
        if (count < 3) {
            System.out.println("這個(gè)數(shù)是質(zhì)數(shù)");
        }else {
            System.out.println("這個(gè)數(shù)不是質(zhì)數(shù)");
        }
    }

運(yùn)行結(jié)果:


5.定義一個(gè)二維數(shù)組判族,用來記錄3個(gè)學(xué)生的java,c#,sql三門功課的成績,二維數(shù)組的一行記錄一個(gè)人的成績

    /**
     * 定義一個(gè)二維數(shù)組项戴,用來記錄3個(gè)學(xué)生的java,c#,sql三門功課的成績形帮,二維數(shù)組的一行記錄一個(gè)人的成績,要求循環(huán)輸入周叮,最后輸出格式如下:
     * java c#  sql
     * 第1名學(xué)生    89  79  98
     * 第2名學(xué)生    99  80  100
     * 第3名學(xué)生    79  99  87
     */
    public static void printScore() {
        int[][] array = new int[3][3];
        Scanner scanner = new Scanner(System.in);
        for (int i = 0; i < array.length; i++) {
            int j = 0;
            System.out.println("請輸入第" + (i+1) + "個(gè)學(xué)生java成績:");
            array[i][j++] = scanner.nextInt();
            System.out.println("請輸入第" + (i+1) + "個(gè)學(xué)生c#成績:");
            array[i][j++] = scanner.nextInt();
            System.out.println("請輸入第" + (i+1) + "個(gè)學(xué)生sql成績:");
            array[i][j++] = scanner.nextInt();
        }

        System.out.println("java\tc#\tsql");
        for (int i = 0; i < array.length; i++) {
            System.out.print("第" + (i+1) + "名學(xué)生成績\t");
            for (int j = 0; j < 3; j++) {
                System.out.print(array[i][j] + "\t");
            }
            System.out.println();
        }
    }

6.計(jì)算1+1/2+1/3+1/4+1/5+1/6+1/7+1/8+1/9+1/10=?

    /**
     * 計(jì)算1+1/2+1/3+1/4+1/5+1/6+1/7+1/8+1/9+1/10=?
     */
    public static void accumulation() {
        double sum = 0;
        for (int i = 1; i <= 10; i++) {
            sum += (double) 1/i;
        }
        System.out.print(sum);
    }

7.從1不斷的累加辩撑,最多加到100,但如果你的累加結(jié)果正好大于1000時(shí)仿耽,要求也結(jié)束這個(gè)循環(huán)合冀。問這個(gè)時(shí)候正好加到了幾。

 /**
     * 從1不斷的累加项贺,最多加到100君躺,但如果你的累加結(jié)果
     * 正好大于1000時(shí),要求也結(jié)束這個(gè)循環(huán)开缎。問這個(gè)時(shí)候正好加
     * 到了幾棕叫。
     */
    public static void accumulation() {
        int sum = 0;
        for (int i = 1; i <= 100; i++) {
            sum += i;
            if (sum > 1000) {
                System.out.print("這個(gè)時(shí)候正好加到:" + i);
                break;
            }
        }
    }

結(jié)果為:

這個(gè)時(shí)候正好加到:45

8.從1累加到100,但如果要累加的數(shù)據(jù)能被3整除奕删,并且也能被7整數(shù)俺泣,那么就不要累加這個(gè)數(shù)。最后輸出結(jié)果完残。

    /**
     * 從1累加到100伏钠,但如果要累加的數(shù)據(jù)能被3整除,
     * 并且也能被7整數(shù)谨设,那么就不要累加這個(gè)數(shù)熟掂。最后輸出結(jié)果。
     */
    public static void accumulation2() {
        int sum = 0;
        for (int i = 1; i <= 100; i++) {
            if (i % 3 == 0 && i % 7 == 0) {
                continue;
            }
            sum += i;
        }
        System.out.print("總和為:" + sum);
    }

結(jié)果為:

總和為:4840

9.打印如下圖形

    /**
     * 打印圖形
     * *
     * ***
     * *****
     * *******
     * *********
     * ***********
     * *************
     */
    public static void printStart() {
        //總共有7行
        for (int i = 0; i < 7; i++) {
            int printCount = 1 + 2*i;  //每行打印個(gè)數(shù)規(guī)律為1+2*n
            for (int j = 0; j < printCount; j++) {
                System.out.print("*");  //循環(huán)打印
            }
            System.out.println();  //換行
        }
    }

結(jié)果為:


10.打印如下圖形

/**
     * *
     * ***
     * *****
     * *******
     * *********
     * ***********
     * *********
     * *******
     * *****
     * ***
     * *
     */
    public static void printStar2() {
        //打印前6行
        for (int i = 0; i < 6; i++) {
            int printCount = 1 + 2*i;  //每行打印個(gè)數(shù)規(guī)律為1+2*n
            for (int j = 0; j < printCount; j++) {
                System.out.print("*");  //循環(huán)打印
            }
            System.out.println();  //換行
        }

        //打印后5行
        for (int i = 4; i >= 0; i--) {
            int printCount = 1 + 2*i;
            for (int j = 0; j < printCount; j++) {
                System.out.print("*");
            }
            System.out.println();
        }
    }

11.給一個(gè)數(shù)組做反序铝宵。

    /**
     * 給一個(gè)數(shù)組做反序。
     */
    public static void reserseArray() {
        //采用數(shù)組對稱依次相互交換值得做法
        int[] array = new int[]{13,0,6,42,8,24,9,10};
        int start = 0;  //低位下標(biāo)
        int end = array.length-1;  //高位下標(biāo)
        for (; start < end; start++) {
            int temp = array[start];
            array[start] = array[end];
            array[end] = temp;
            end--;  //循環(huán)依次华畏,低位右移鹏秋,高位左移
        }
        for (int i = 0; i < array.length; i++) {
            System.out.print(array[i] + "\t");
        }
    }

運(yùn)行結(jié)果:


12.求1-100以內(nèi)所有的質(zhì)數(shù)

    /**
     * 求1-100以內(nèi)所有的質(zhì)數(shù)
     */
    public static void getPrimeNumber() {
        System.out.print("1-100以內(nèi)的質(zhì)數(shù)有: ");
        for (int i = 1; i <= 100; i++) {
            int count = 0;
            for (int j = 1; j <= i / 2; j++) {
                if (i % j == 0) {
                    count++;
                }
            }
            if (count < 2) {
                System.out.print(i + "  ");
            }
        }
    }

結(jié)果為:


13.輸入一個(gè)四位數(shù),要求計(jì)算出它的千位亡笑,百位侣夷,十位,個(gè)位仑乌,并且打印出來百拓。

    /**
     * 輸入一個(gè)四位數(shù)琴锭,要求計(jì)算出它的千位,百位衙传,十位决帖,個(gè)位,并且打印出來蓖捶。
     */
    public static void printNum() {
        Scanner scanner = new Scanner(System.in);
        int num;
        do {
            System.out.print("請輸入一個(gè)四位數(shù):");
            num = scanner.nextInt();
        }while (num/1000 < 1);
        int rest = num;
        int gewei = rest % 10;
        rest /= 10;
        int shiwei = rest % 10;
        rest /= 10;
        int baiwei = rest % 10;
        rest /= 10;
        int qianwei = rest % 10;
        System.out.print("個(gè)位" + gewei + "  十位" + shiwei + "  百位" + baiwei + "  千位" + qianwei);
    }

結(jié)果為:


?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末地回,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子俊鱼,更是在濱河造成了極大的恐慌刻像,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,252評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件并闲,死亡現(xiàn)場離奇詭異细睡,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)帝火,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,886評論 3 399
  • 文/潘曉璐 我一進(jìn)店門溜徙,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人购公,你說我怎么就攤上這事萌京。” “怎么了宏浩?”我有些...
    開封第一講書人閱讀 168,814評論 0 361
  • 文/不壞的土叔 我叫張陵知残,是天一觀的道長。 經(jīng)常有香客問我比庄,道長求妹,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,869評論 1 299
  • 正文 為了忘掉前任佳窑,我火速辦了婚禮制恍,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘神凑。我一直安慰自己净神,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,888評論 6 398
  • 文/花漫 我一把揭開白布溉委。 她就那樣靜靜地躺著鹃唯,像睡著了一般。 火紅的嫁衣襯著肌膚如雪瓣喊。 梳的紋絲不亂的頭發(fā)上坡慌,一...
    開封第一講書人閱讀 52,475評論 1 312
  • 那天,我揣著相機(jī)與錄音藻三,去河邊找鬼洪橘。 笑死跪者,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的熄求。 我是一名探鬼主播渣玲,決...
    沈念sama閱讀 41,010評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼抡四!你這毒婦竟也來了柜蜈?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,924評論 0 277
  • 序言:老撾萬榮一對情侶失蹤指巡,失蹤者是張志新(化名)和其女友劉穎淑履,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體藻雪,經(jīng)...
    沈念sama閱讀 46,469評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡秘噪,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,552評論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了勉耀。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片指煎。...
    茶點(diǎn)故事閱讀 40,680評論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖便斥,靈堂內(nèi)的尸體忽然破棺而出至壤,到底是詐尸還是另有隱情,我是刑警寧澤枢纠,帶...
    沈念sama閱讀 36,362評論 5 351
  • 正文 年R本政府宣布像街,位于F島的核電站,受9級特大地震影響晋渺,放射性物質(zhì)發(fā)生泄漏镰绎。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,037評論 3 335
  • 文/蒙蒙 一木西、第九天 我趴在偏房一處隱蔽的房頂上張望畴栖。 院中可真熱鬧,春花似錦八千、人聲如沸吗讶。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,519評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽照皆。三九已至,卻和暖如春鸠信,著一層夾襖步出監(jiān)牢的瞬間纵寝,已是汗流浹背论寨。 一陣腳步聲響...
    開封第一講書人閱讀 33,621評論 1 274
  • 我被黑心中介騙來泰國打工星立, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留爽茴,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,099評論 3 378
  • 正文 我出身青樓绰垂,卻偏偏與公主長得像室奏,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子劲装,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,691評論 2 361

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

  • 【程序1】 題目:古典問題:有一對兔子胧沫,從出生后第3個(gè)月起每個(gè)月都生一對兔子,小兔子長到第三個(gè)月后每個(gè)月又生一對兔...
    開心的鑼鼓閱讀 3,325評論 0 9
  • 在C語言中,五種基本數(shù)據(jù)類型存儲空間長度的排列順序是: A)char B)char=int<=float C)ch...
    夏天再來閱讀 3,352評論 0 2
  • Java經(jīng)典問題算法大全 /*【程序1】 題目:古典問題:有一對兔子占业,從出生后第3個(gè)月起每個(gè)月都生一對兔子绒怨,小兔子...
    趙宇_阿特奇閱讀 1,875評論 0 2
  • 夢,總不夠漫長谦疾,可我們需要夢想南蹂。情,總讓人受傷念恍,可我們還念念不忘六剥。雨,下得再漂亮峰伙,可我們還是喜歡陽光疗疟。你,雖不在...
    雅珅閱讀 586評論 0 1
  • 這句話好像聽起來有壓迫感瞳氓,不過是至理名言策彤。 我以前總是喜歡逃避,逃到自己的舒適窩里顿膨,不敢去嘗試一些...
    簡單記閱讀 108評論 0 0