|  |  |  | @ -1,5 +1,48 @@ | 
			
		
	
		
			
				
					|  |  |  |  | import java.util.Scanner; | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | public class demo { | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     // 将R进制数转换为10进制
 | 
			
		
	
		
			
				
					|  |  |  |  |     public static int toDecimal(String number, int base) { | 
			
		
	
		
			
				
					|  |  |  |  |         return Integer.parseInt(number, base); | 
			
		
	
		
			
				
					|  |  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     // 将10进制数转换为R进制数
 | 
			
		
	
		
			
				
					|  |  |  |  |     public static String fromDecimal(int number, int base) { | 
			
		
	
		
			
				
					|  |  |  |  |         StringBuilder sb = new StringBuilder(); | 
			
		
	
		
			
				
					|  |  |  |  |         while (number > 0) { | 
			
		
	
		
			
				
					|  |  |  |  |             int remainder = number % base; | 
			
		
	
		
			
				
					|  |  |  |  |             // 对于大于9的数字,用字母表示
 | 
			
		
	
		
			
				
					|  |  |  |  |             if (remainder >= 10) { | 
			
		
	
		
			
				
					|  |  |  |  |                 sb.append((char) ('A' + remainder - 10)); | 
			
		
	
		
			
				
					|  |  |  |  |             } else { | 
			
		
	
		
			
				
					|  |  |  |  |                 sb.append(remainder); | 
			
		
	
		
			
				
					|  |  |  |  |             } | 
			
		
	
		
			
				
					|  |  |  |  |             number /= base; | 
			
		
	
		
			
				
					|  |  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |  |         return sb.reverse().toString(); // 反转字符串以得到正确的顺序
 | 
			
		
	
		
			
				
					|  |  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     public static void main(String[] args) { | 
			
		
	
		
			
				
					|  |  |  |  |         System.out.println("Hello World"); | 
			
		
	
		
			
				
					|  |  |  |  |         Scanner scanner = new Scanner(System.in); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |         // 输入源进制和目标进制
 | 
			
		
	
		
			
				
					|  |  |  |  |         System.out.print("请输入进制: "); | 
			
		
	
		
			
				
					|  |  |  |  |         int sourceBase = scanner.nextInt(); | 
			
		
	
		
			
				
					|  |  |  |  |         System.out.print("请输入目标进制: "); | 
			
		
	
		
			
				
					|  |  |  |  |         int targetBase = scanner.nextInt(); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |         // 输入源进制数
 | 
			
		
	
		
			
				
					|  |  |  |  |         System.out.print("请输入数字: "); | 
			
		
	
		
			
				
					|  |  |  |  |         String sourceNumber = scanner.next(); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |         // 转换过程
 | 
			
		
	
		
			
				
					|  |  |  |  |         int decimalValue = toDecimal(sourceNumber, sourceBase); | 
			
		
	
		
			
				
					|  |  |  |  |         String targetNumber = fromDecimal(decimalValue, targetBase); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |         // 输出结果
 | 
			
		
	
		
			
				
					|  |  |  |  |         System.out.printf("转换结果: %s\n", targetNumber); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |         scanner.close(); | 
			
		
	
		
			
				
					|  |  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  |  | } | 
			
		
	
	
		
			
				
					|  |  |  | 
 |