/* "12 0 99 -7 30 4 100 13" 要求對字符串中的數值進行排序。生成一個數值從小到大新字符串。 "-7 0 4 12 13 30 99 100" 思路: 1,將字符串切割。變成字符串數組。 2,將字符串數組轉成int數組。 3,int數組排序。 4,將int數組變成字符串。 */ public class Test { public static void main(String[] args) { String str = "12 0 99 -7 30 4 100 13"; str = numberStringSort(str); System.out.println(str); } private static String numberStringSort(String str) { String[] arr = splitString(str); int[] nums = stringChangeIntArray(arr); // int[] nums = new int[arr.length]; // for (int i = 0; i < arr.length; i++) { // nums[i] = Integer.parseInt(arr[i]); // } Arrays.sort(nums); return intArraytoString(nums); } private static String intArraytoString(int[] nums) { StringBuffer sb = new StringBuffer(); for (int i = 0; i < nums.length; i++) { if(i!=nums.length-1) sb.append(nums[i]+" "); else sb.append(nums[i]); } return sb.toString(); } private static int[] stringChangeIntArray(String[] str) { int[] nums = new int[str.length]; for (int i = 0; i < str.length; i++) { nums[i] = Integer.parseInt(str[i]); } return nums; } private static String[] splitString(String str) { return str.split(" "); } }
/* 對字符串排序。 "zxcvbasdfg" 思路: 1,字符串變數組。 2,數組排序。 3,數組變字符串。 */ public class Test { public static void main(String[] args) { String str = "zxcvbasdfg"; // char[] ch = str.toCharArray(); // Arrays.sort(ch); // String str2 = new String(ch); // System.out.println(str2); } public static String sortString(String str){ char[] arr = stringToArray(str); sort(arr); return str; } private static void sort(char[] arr) { for (int i = 0; i < arr.length-1; i++) { for (int j = i+1; j < arr.length; j++) { if(arr[i]>arr[j]){ swap(arr,i,j); } } } } private static void swap(char[] arr, int i, int j) { char temp = arr[i]; arr[i] = arr[j]; arr[j] = temp; } private static char[] stringToArray(String str) { return str.toCharArray(); }
//輸入一個數n ,按照1-1/2+1/3-1/4+1/5...+1/(n-1)-1/n的格式輸出
public class Test { public static void main(String[] args) throws Exception { // int/int=int int n = 10; if (n < 0 || n > 20) { throw new Exception("輸入的在0-20之間"); } double sum = 0; StringBuffer sb = new StringBuffer(); sb.append("1"); for (int i = 1; i <= n; i++) { if (i % 2 == 0) { sum -= 1.0 / i; sb.append("-"); } else { sum += 1.0 / i; if (i != 1) sb.append("+"); } if (i != 1) sb.append("1/" + i); } System.out.println(sb.toString() + "=" + sum); } }
//階乘
public class Test { public static void main(String[] args) { int index = 5; int sum = 1; for (int i = 1; i <= index; i++) { sum *= i; } System.out.println(sum); } }
//遞歸實現階乘
public class Test { public static void main(String[] args) { System.out.println(factorial(10)); } static int factorial(int i) { if (i == 1) { return 1; } else { return i * factorial(i - 1); } } }
//九九乘法表
public class Test { public static void main(String[] args) { for (int i = 1; i <= 9; i++) { for (int j = 1; j <= i; j++) { System.out.print(j + "*" + i + "=" + i * j + "\t"); } System.out.println(); } } }
//遞歸實現九九乘法表
public class Test { public static void main(String[] args) { print(9); } static void print(int i) { if (i == 1) { System.out.println("1*1=1\t"); } else { print(i - 1); for (int j = 1; j <= i; j++) { System.out.print(j + "*" + i + "=" + i * j + "\t"); } System.out.println(); } } }