Java 整数打印错误值
当将整数转换为int数组时,例如123转换为{1,2,3},我得到的值是{49,50,51}。 无法找到我的代码有什么问题Java 整数打印错误值,java,Java,当将整数转换为int数组时,例如123转换为{1,2,3},我得到的值是{49,50,51}。 无法找到我的代码有什么问题 public class Test { public static void main(String [] args) { String temp = Integer.toString(123); int[] newGuess = new int[temp.length()]; for (int i = 0; i &l
public class Test {
public static void main(String [] args) {
String temp = Integer.toString(123);
int[] newGuess = new int[temp.length()];
for (int i = 0; i < temp.length(); i++) {
newGuess[i] = temp.charAt(i);
}
for (int i : newGuess) {
System.out.println(i);
}
}
}
公共类测试{
公共静态void main(字符串[]args){
字符串温度=整数。toString(123);
int[]newGuess=newint[temp.length()];
对于(int i=0;i
输出:
49
五十
五十一
charAt(i)
将为您提供整数的UTF-16代码单位值。例如,在您的示例中,1的UTF-16代码单位值为49。
要获得值的整数表示形式,可以从i中减去“0”(UTF-16代码单位值48)
public class Test {
public static void main(String [] args) {
String temp = Integer.toString(123);
int[] newGuess = new int[temp.length()];
for (int i = 0; i < temp.length(); i++) {
newGuess[i] = temp.charAt(i);
}
for (int i : newGuess) {
System.out.println(i - '0');
}
}
}
公共类测试{
公共静态void main(字符串[]args){
字符串温度=整数。toString(123);
int[]newGuess=newint[temp.length()];
对于(int i=0;i
输出:
一,
二,
三,
charAt(i)
将为您提供整数的UTF-16代码单位值。例如,在您的示例中,1的UTF-16代码单位值为49。
要获得值的整数表示形式,可以从i中减去“0”(UTF-16代码单位值48)
public class Test {
public static void main(String [] args) {
String temp = Integer.toString(123);
int[] newGuess = new int[temp.length()];
for (int i = 0; i < temp.length(); i++) {
newGuess[i] = temp.charAt(i);
}
for (int i : newGuess) {
System.out.println(i - '0');
}
}
}
公共类测试{
公共静态void main(字符串[]args){
字符串温度=整数。toString(123);
int[]newGuess=newint[temp.length()];
对于(int i=0;i
输出:
一,
二,
三,
temp.charAt(i)
基本上是返回字符。您需要从中提取整数
值
您可以使用:
newGuess[i] = Character.getNumericValue(temp.charAt(i));
输出
1
2
3
代码
public class Test {
public static void main(String [] args) {
String temp = Integer.toString(123);
int[] newGuess = new int[temp.length()];
for (int i = 0; i < temp.length(); i++) {
newGuess[i] = Character.getNumericValue(temp.charAt(i));
}
for (int i : newGuess) {
System.out.println(i);
}
}
}
公共类测试{
公共静态void main(字符串[]args){
字符串温度=整数。toString(123);
int[]newGuess=newint[temp.length()];
对于(int i=0;i
临时字符(i)
基本上是返回字符。您需要从中提取整数
值
您可以使用:
newGuess[i] = Character.getNumericValue(temp.charAt(i));
输出
1
2
3
代码
public class Test {
public static void main(String [] args) {
String temp = Integer.toString(123);
int[] newGuess = new int[temp.length()];
for (int i = 0; i < temp.length(); i++) {
newGuess[i] = Character.getNumericValue(temp.charAt(i));
}
for (int i : newGuess) {
System.out.println(i);
}
}
}
公共类测试{
公共静态void main(字符串[]args){
字符串温度=整数。toString(123);
int[]newGuess=newint[temp.length()];
对于(int i=0;i
因为您的兴趣是获取字符串的整数值。使用parse int Integer.parseInt()方法。这将作为整数返回。
例子:
int x=整数.parseInt(“6”);它将返回整数6。,因为您的兴趣是获取字符串的整数值。使用parse int Integer.parseInt()方法。这将作为整数返回。 例子:
int x=整数.parseInt(“6”);它将返回整数6。要在混合中添加一些Java 8细节,使我们能够将所有内容整齐地打包,您可以选择执行以下操作:
int i = 123;
int[] nums = Arrays.stream(String.valueOf(i).split(""))
.mapToInt(Integer::parseInt)
.toArray();
这里,我们得到一个字符串数组的流,该数组是通过分割给定整数的字符串值创建的。然后,我们使用
integer#parseInt
将这些值映射为整数值,并将其映射到IntStream
中,最后将其映射到数组中。要在混合中添加一些Java 8细节,使我们能够将所有内容整齐地打包,您可以选择执行以下操作:
int i = 123;
int[] nums = Arrays.stream(String.valueOf(i).split(""))
.mapToInt(Integer::parseInt)
.toArray();
这里,我们得到一个字符串数组的流,该数组是通过分割给定整数的字符串值创建的。然后,我们用
integer#parseInt
将这些值映射成整数值,再映射成IntStream
,最后将其生成一个数组。integer.parseInt(“123”)
将返回整数123
,而不是{1,2,3}
整数数组。integer.parseInt(“123”)
将返回整数123
,而不是{1,2,3}
int数组。的可能副本可能是迂腐的,charAt
不返回ASCII值,而是返回char
值,它们是UTF-16代码单位。碰巧前128个字符是相同的,覆盖了常见的拉丁字母表。但是Java从来没有使用ASCII字符串,它是Unicode从第一天就开始了。学究式的说,charAt
不返回ASCII值,而是返回char
值,它们是UTF-16代码单位。碰巧前128个字符都是相同的,覆盖了常见的拉丁字母表。但Java从未使用ASCII字符串,它从第一天起就是Unicode。