以例題來看:
123->321
-123->-321
1200->21
import java.util.Scanner; public class MainClass { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int input = sc.nextInt(); int ans = 0; if (input < 0) { input = Math.abs(input); //先拿掉負號 input = clearZero(input); //除掉input後面的0 int inputLength = inputLength(input); //取得輸入數字得長度 int time = 1; int count = 0; while (count != inputLength) { //當count等於輸入長度就停止 count++; ans += input / times(10, count - 1) % 10 * times(10, inputLength - count); //圖1所示 } System.out.print(ans * -1); } else if (input > 0) { input = clearZero(input); //除掉input後面的0 int inputLength = inputLength(input); //取得輸入數字得長度 int time = 1; int count = 0; while (count != inputLength) { count++; ans += input / times(10, count - 1) % 10 * times(10, inputLength - count); } System.out.print(ans); } } //次方 public static int times(int x, int y) { int ans = 1; for (int i = 0; i < y; i++) { ans *= x; } return ans; } //除掉input後面的0 public static int clearZero(int input) { while (true) { if (input % 10 == 0) { input /= 10; continue; } else break; } return input; } //準備陣列放數字 public static int[] prepareArray(int input) { int i = 10; int count = 1; //個位數就要有長度為1的陣列 while (true) { if (input / i > 0) { count++; i *= 10; } else { break; } } int[] readyArrays = new int[count]; return readyArrays; } public static int inputLength(int input) { int i = 10; int count = 1; //個位數就要有長度為1的陣列 while (true) { if (input / i > 0) { count++; i *= 10; } else { break; } } return count; } }
圖一
全站熱搜