Java上存在的问题;替换字符
我正在尝试将字符从“0”替换为“5”。 当前代码有效,但仅当前面没有“0”时有效Java上存在的问题;替换字符,java,string,replace,Java,String,Replace,我正在尝试将字符从“0”替换为“5”。 当前代码有效,但仅当前面没有“0”时有效 示例:“50005”->“55555”(o);”00005000'->'5555'(x)整数上的前导零在转换过程中被忽略 public static int conversion(int n) { String str = Integer.toString(n); //int to string String str1= str.replace('0', '5'); //replace th
示例:“50005”->“55555”(o);”00005000'->'5555'(x)整数上的前导零在转换过程中被忽略
public static int conversion(int n) {
String str = Integer.toString(n); //int to string
String str1= str.replace('0', '5'); //replace the character in string
int result1 = Integer.parseInt(str1); //string to int
int result = result1;
return result;
}
印刷品
String str = "0000123";
int n = Integer.valueOf(str);
System.out.println(str);
System.out.println(n);
int octalVal = 000031;
System.out.println(octalVal);
String decimalStringVal = Integer.toString(octalVal);
System.out.println(decimalStringVal);
如果将0作为int的前缀,它会将其视为八进制值并忽略零
0000123
123
印刷品
String str = "0000123";
int n = Integer.valueOf(str);
System.out.println(str);
System.out.println(n);
int octalVal = 000031;
System.out.println(octalVal);
String decimalStringVal = Integer.toString(octalVal);
System.out.println(decimalStringVal);
整数上的前导零在转换过程中被忽略
public static int conversion(int n) {
String str = Integer.toString(n); //int to string
String str1= str.replace('0', '5'); //replace the character in string
int result1 = Integer.parseInt(str1); //string to int
int result = result1;
return result;
}
印刷品
String str = "0000123";
int n = Integer.valueOf(str);
System.out.println(str);
System.out.println(n);
int octalVal = 000031;
System.out.println(octalVal);
String decimalStringVal = Integer.toString(octalVal);
System.out.println(decimalStringVal);
如果将0作为int的前缀,它会将其视为八进制值并忽略零
0000123
123
印刷品
String str = "0000123";
int n = Integer.valueOf(str);
System.out.println(str);
System.out.println(n);
int octalVal = 000031;
System.out.println(octalVal);
String decimalStringVal = Integer.toString(octalVal);
System.out.println(decimalStringVal);
因为根据数学计算,
555
和00000555
是相同的数字。Integer.toString
永远不会返回带前导零的字符串。int
literal00005000
实际上是八进制表示,将被解释为2560
->conversion(00005000)
等于conversion(2560)
,并将返回2565
,因为555
和00000555
是相同的数字,根据数学。Integer.toString
永远不会返回带前导零的字符串。int
literal00005000
实际上是八进制表示,将被解释为2560
->conversion(00005000)
等于conversion(2560)
并返回2565