原创 有n個人圍成一圈,順序排號。從第一個人開始報數(從1到3報數),凡報到3的人退出圈子,問最後留下的是原來第幾號的那位。

題目:有n個人圍成一圈,順序排號。從第一個人開始報數(從1到3報數),凡報到3的人退出圈子,問最後留下的是原來第幾號的那位。 import java.util.Scanner; public class Prog37{ public

原创 輸入一個字符串並求取其長度

題目:寫一個函數,求一個字符串的長度,在main函數中輸入字符串,並輸出其長度。 程序分析:首先輸入字符串,然後將字符串轉化爲字符數組並求取其長度,記得減去換行字符。 import java.util.Scanner; public c

原创 有n個整數,使其前面各數順序向後移m個位置,最後m個數變成最前面的m個數

題目:有n個整數,使其前面各數順序向後移m個位置,最後m個數變成最前面的m個數 import java.util.Scanner; public class Prog36{ public static void main(String

原创 對字符串由大到小排序

題目:字符串排序。 程序分析:對字符串的排序其實是對字符串的ASCII碼進行比較。 public class Prog40{ public static void main(String[] args){ String[] str

原创 輸入3個數a,b,c,按大小順序輸出。

題目:輸入3個數a,b,c,按大小順序輸出。 程序分析:首先輸入數據,然後逐一比較。 import java.util.Scanner; public class Prog34{ public static void main(Str

原创 打印出楊輝三角形

題目:打印出楊輝三角形(要求打印出10行如下圖) 程序分析:                                 1                                                      

原创 將一個數組逆序輸出

題目:將一個數組逆序輸出。 程序分析:用第一個與最後一個交換。 public class Prog31 { public static void main(String[] args) { int[] A = new int[]

原创 有一個已經排好序的數組。現輸入一個數,要求按原來的規律將它插入數組中。

題目:有一個已經排好序的數組。現輸入一個數,要求按原來的規律將它插入數組中。 程序分析:首先判斷此數是否大於最後一個數,然後再考慮插入中間的數的情況,插入後此元素之後的數,依次後移一個位置。 public class Prog30 {

原创 對10個數進行排序

題目:對10個數進行排序 程序分析:可以利用選擇排序法,即從後9個比較過程中,選擇一個最小的與第一個元素交換, 下次類推,即用第二個元素與後8個進行比較,並進行交換。 public class Prog28{ public stati

原创 請輸入星期幾的第一個字母來判斷一下是星期幾,如果第一個字母一樣,則繼續判斷第二個字母。

題目:請輸入星期幾的第一個字母來判斷一下是星期幾,如果第一個字母一樣,則繼續判斷第二個字母。 程序分析:用情況語句比較好,如果第一個字母一樣,則判斷用情況語句或if語句判斷第二個字母。 import java.io.*; public

原创 有5個人坐在一起,問第五個人多少歲?他說比第4個人大2歲。問第4個人歲數,他說比第3個人大2歲。問第三個人,又說比第2人大兩歲。問第2個人,說比第一個人大兩歲。最後問第一個人,他說是10歲。

題目:有5個人坐在一起,問第五個人多少歲?他說比第4個人大2歲。問第4個人歲數,他說比第3個人大2歲。問第三個人,又說比第2人大兩歲。問第2個人,說比第一個人大兩歲。最後問第一個人,他說是10歲。請問第五個人多大? 程序分析:利用遞歸的方

原创 求1+2!+3!+...+20!的和

題目:求1+2!+3!+...+20!的和 程序分析:此程序只是把累加變成了累乘。 public class Prog21{ public static void main(String[] args){ long sum = 0

原创 利用遞歸方法求10!

題目:利用遞歸方法求10!。 程序分析:遞歸公式:fn=fn_1*4! public class Prog22{ public static void main(String[] args){ System.out.println

原创 有一分數序列:2/1,3/2,5/3,8/5,13/8,21/13...求出這個數列的前20項之和。

題目:有一分數序列:2/1,3/2,5/3,8/5,13/8,21/13...求出這個數列的前20項之和。 程序分析:請抓住分子與分母的變化規律。 public class Prog20{ public static void mai

原创 JVM垃圾回收算法

垃圾回收算法有:標記清除算法,複製算法,標記整理算法,分代收集算法。 1.標記-清除算法:先利用可達性分析算法,標記出存活的對象。標記完之後,再掃描整個空間中未被標記的對象進行回收。 缺點:效率低,會造成大量碎片。 2.複製算法:複製算法