package test;
import java.util.Scanner;
public class _10to10 {
//转换10进制
public static int to10(String s){
int a=0;
System.out.println("请输入当前字符进制");
Scanner sc = new Scanner(System.in);
int now=sc.nextInt();
for (int i = 0; i < s.length(); i++) {
a*=now;
a+=s.charAt(i)-'0';
}
return a;
}
public static char toChar(int x){
Scanner sc = new Scanner(System.in);
//System.out.println("目标长度");
// int now= sc.nextInt();
if (x<10){
return (char) ('0'+x);
}else {
return (char) ('A'+(x-10));
}
}
public static String tonumber(int n){
String a=" ";
System.out.println("请输入转换目标进制");
Scanner sc = new Scanner(System.in);
int base =sc.nextInt();
while (n!=0){
a=toChar(n%base)+a;
n/=base;
}
return a;
}
//传统的办法
public static void main(String[] args) {
/*
Scanner sc = new Scanner(System.in);
String a=sc.nextLine();
int r1=sc.nextInt();
int r2=sc.nextInt();
// String a ="40";
int s=Integer.parseInt(a,r1);//前者转换的目标字符,后者字符对应的进制。其他进制转换十进制默认int
System.out.println(s);
String c=Integer.toString(s,r2);//前者转换的数字,后者要成为的进制 .10进制转换其他进制默认String.
System.out.println(c);*/
Scanner sc = new Scanner(System.in);
System.out.println("请输入转换的字符");
String s=sc.nextLine();
//int s= sc.nextInt();
int n=to10(s);
System.out.println(tonumber(n));
}
}
java任意字符转换的传统办法和自己写的方法的对比
最新推荐文章于 2023-01-24 16:33:05 发布