package com.company;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
System.out.println("please enter a number");
Scanner scn = new Scanner(System.in);
int x = scn.nextInt();
String jam = Integer.toString(x);
int[] azure = new int[jam.length()];
// Char[] character = new Char[jam.length()];
String java = Integer.toString(x);
for(char g :java.toCharArray()){
int i = -1;
i++;
int m = (int)g;
azure[i] = m;
System.out.println(azure[i]);
// System.out.println(g);
}
}
}
当我输入数字 123 时,我希望显示单个数字 1、2、3,我知道如果我只输出 g 那么它可以工作,但我想将单个数字存储在数组中......但我不断收到 50 左右的奇怪结果像 49,50,51
这是迄今为止我遇到的最奇怪的输出哈哈......
请帮忙...
如果你想转换char
into int
use Character.getNumericValue(g)
int m = (int)g
不会将 1,2 或 3 分配给m
相反,它会收到 ASCII 值1,2,3
这是49,50,51
分别。当您对数字执行加法和减法时也会发生这种情况char
。所以你也可以使用这个技巧来解决你的问题。这意味着你可以这样写,它会解决你的问题 -
int m = g-'0'
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)