編程合集: https://www.cnblogs.com/jssj/p/12002760.html
Java總結:https://www.cnblogs.com/jssj/p/11146205.html
【程序41】
題目:求0,1,2,3,4,5,6,7所能組成的8位奇數個數。
/** * 【程序41】 * 題目:求0,1,2,3,4,5,6,7所能組成的8位奇數個數。 */ public class Subject41 { public static void main(String[] args) { int[] arr = new int[]{0,1,2,3,4,5,6,7}; compose(arr); } /** * 獲取:0—7所能組成的奇數個數 */ private static void compose(int[] arr) { /**奇數特點,該數不能被2整數。故各位數是1,3,5,7,9**/ int oddCount = 0; for (int i = 0; i < arr.length; i++) { if(!isParity(arr[i])){ oddCount++; } } /***************各位已經確定,剩下的數可以組成整數的個數*******************/ int num = factorial(arr.length-1); /****************輸出結果*********************/ System.out.println("以下數字:"); printArray(arr); System.out.println("可產生的奇數個數:"+oddCount*num); } /** * 判斷num是奇數還是偶數 * @param num * @return */ private static boolean isParity(int num) { if(num%2 == 1){ return false; }else { return true; } } /** * 計算num的階乘! * @param num * @return */ public static int factorial(int num){ if(num == 1){ return 1; }else{ return num*factorial(num-1); } } /** * 打印數組 * @param arr */ private static void printArray(int[] arr) { for (int i = 0; i < arr.length ; i++) { System.out.print(arr[i]+" "); } } }
運行結果:
【程序42】
題目:輸入一個偶數,判斷該偶數等於哪兩個素數之和。
import java.util.ArrayList; import java.util.List; import java.util.Scanner; /** * 【程序42】 * 題目:輸入一個偶數,判斷該偶數等於哪兩個素數之和。 */ public class Subject42 { public static void main(String[] args) { System.out.println("請輸入大於等於2的偶數:"); Scanner scanner = new Scanner(System.in); int num = scanner.nextInt(); getTwoPrimeNum(num); } /** * 獲取兩個素數 * @param num */ private static void getTwoPrimeNum(int num) { List<Integer> primeNumberList = getPrimeNumber(2,num); for (int i = 0; i < primeNumberList.size(); i++) { for (int j = i; j < primeNumberList.size(); j++) { if(num == primeNumberList.get(i) + primeNumberList.get(j)){ System.out.println("該偶數為素數("+primeNumberList.get(i)+")和素數("+primeNumberList.get(j)+")的和"); } } } } /** * 判斷a和b之間有多少個素數 * @param a * @param b */ public static List<Integer> getPrimeNumber(int a, int b){ List<Integer> primeNumberList = new ArrayList<>(); if(a >= b){ System.out.println("a不能大於等於b!"); } for(int i=a;i<=b;i++){ if(isPrimeNumber(i)){ primeNumberList.add(i); } } return primeNumberList; } /** * 判斷num是否是一個素數 * @param i * @return */ private static boolean isPrimeNumber(int i) { boolean flag = true; for(int j=2;j <= i/2;j++){ if(i%j == 0){ flag = false; break; } } return flag; } }
運行結果:
【程序43】
題目:判斷一個素數能被幾個9整除
import java.util.Scanner; /** * 【程序43】 * 題目:判斷一個素數能被幾個9整除 (例如3能被9整除, 9除以3,等於3.) ,備注 :數學除是后面的數除以前面的數 * 盡管如此,該題還是感覺沒有意義。 */ public class Subject43 { public static void main(String[] args) { System.out.println("請輸入一個素數"); Scanner scanner = new Scanner(System.in); int num = scanner.nextInt(); dealNum(num); } private static void dealNum(int num) { if(!isPrimeNumber(num)){ System.out.println("您輸入的數字不能素數!"); return ; } int divisorNum = 9; while(true){ if(divisorNum%num == 0 ){ System.out.println("您輸入的素數能被"+divisorNum/9+"個9整除!"); break; } divisorNum = divisorNum + 9; } } /** * 判斷num是否是一個素數 * @param i * @return */ private static boolean isPrimeNumber(int i) { boolean flag = true; for(int j=2;j <= i/2;j++){ if(i%j == 0){ flag = false; break; } } return flag; } }
運行結果:
【程序44】
題目:兩個字符串連接程序
/** * 【程序44】 * 題目:兩個字符串連接程序(該題為C代碼題目。)使用C方式實現該程序 */ public class Subject44 { public static void main(String[] args) { String str1 = "張三"; String str2 = "李曉明"; splicingStr(str1,str2); } private static void splicingStr(String str1, String str2) { /*****java實現***************/ System.out.println("java實現:"+str1 + str2); /*****C實現,C言語字符串本身就是需要使用char[] 數組保存的,這里就不再從新寫了***************/ char[] arrStr1 = str1.toCharArray(); char[] arrStr2 = str2.toCharArray(); char[] arrStrSum = new char[arrStr1.length + arrStr2.length]; for (int i = 0; i < arrStrSum.length; i++) { if(i < str1.length()){ arrStrSum[i] = arrStr1[i]; }else{ arrStrSum[i] = arrStr2[i-str1.length()]; } } System.out.print("C語言方式實現:"); printArray(arrStrSum); } /** * 打印數組 * @param arr */ private static void printArray(char[] arr) { for (int i = 0; i < arr.length ; i++) { System.out.print(arr[i]); } System.out.println(); } }
運行結果:
【程序45】
題目:讀取7個數(1—50)的整數值,每讀取一個值,程序打印出該值個數的*。
import java.util.Scanner; /** * 【程序45】 * 題目:讀取7個數(1—50)的整數值,每讀取一個值,程序打印出該值個數的*。 */ public class Subject45 { public static void main(String[] args) { System.out.println("請輸入一個(1—50)正整數:"); Scanner scanner = new Scanner(System.in); int num = scanner.nextInt(); printSymbol(num); } /** * 打印符號“*” * @param num */ private static void printSymbol(int num) { for (int i = 0; i < num ; i++) { System.out.print("*"); } } }
運行結果:
【程序46】
題目:某個公司采用公用電話傳遞數據,數據是四位的整數,在傳遞過程中是加密的,加密規則如下:每位數字都加上5,然后用和除以10的余數代替該數字,再將第一位和第四位交換,第二位和第三位交換。
import java.util.Scanner; /** * 【程序46】 * 題目:某個公司采用公用電話傳遞數據,數據是四位的整數,在傳遞過程中是加密的,加密規則如下:每位數字都加上5,然后用和除以10的余數代替該數字,再將第一位和第四位交換,第二位和第三位交換。 */ public class Subject46 { public static void main(String[] args) { System.out.println("請輸入一個4位整數:"); Scanner scanner = new Scanner(System.in); int num = scanner.nextInt(); encryption(num); } /** * 數字加密 * @param num */ private static void encryption(int num) { char[] arr= (num+"").toCharArray(); for (int i = 0; i < arr.length/2; i++) { char tmp = arr[i]; arr[i] = arr[arr.length-i-1]; arr[arr.length-i-1] = tmp; } String cipherText = ""; for (int i = 0; i < arr.length; i++) { int tmp = (arr[i]-'0'+5)%10; cipherText = cipherText+tmp; } System.out.println("密文:"+cipherText); } }
運行結果:
【程序47】
題目:計算字符串中子串出現的次數
import java.util.regex.Matcher; import java.util.regex.Pattern; /** * 【程序47】 * 題目:計算字符串中子串出現的次數 */ public class Subject47 { public static void main(String[] args) { String str1 = "adsdfgfddghrcadncmbvxcxadakssadkfowp"; String str2 = "ad"; strLookCount(str1,str2); } /** * 子串出現次數 * @param str1 * @param str2 */ private static void strLookCount(String str1, String str2) { Pattern pattern = Pattern.compile(str2); Matcher m = pattern.matcher(str1); int count=0; while(m.find()){ count++; } System.out.println("子串出現次數: "+count); } }
運行結果:
參考:https://blog.csdn.net/zzzzzzzhu/article/details/82355001