我想从用户读取一个整数,并希望在不同的位置执行一些算术运算,例如在第十位,第一百位等。例如,使用int x = 258796的变量;我想为每个其他数字添加2。我想出的解决方案是将x的值赋给数组,让我们说int [] y。按照这个程序,我很容易就数字执行上述过程。我在将int x的值赋给int [] y时遇到问题。请帮助我....
将会理解解决此问题的良好有效建议。
答案 0 :(得分:2)
首先,您需要打破数字并将其存储在数组中:
int number = 1234567890;
int len = Integer.toString(number).length();
int[] iarray = new int[len];
int index;
for (index = 0; index < len; index++) {
iarray[index] = number % 10;
number /= 10;
} //this breaks the entire number into single digit and stores it in an array
然后你可以执行你想要执行的任何操作:让我们说每个数字加2,
for(i=0;i<len;i++)
{
iarray[i]=iarray[i]+2; //any number you want to add
}
答案 1 :(得分:1)
以下逻辑可能会对您有所帮助。
int num=1234567;
int[] y;
int i=0;
while(num>0){
y[i]=num%10;
num=num/10;
i++;
}
最后你得到的结果如y = {7,6,5,4,3,2,1}; 你应该扭转它。
答案 2 :(得分:0)
如果我理解你需要什么,你可以在这里找到答案:How to get the separate digits of an int number? (用更多的票数检查答案)
答案 3 :(得分:0)
创建一个整数字符串,然后循环每个字符将其转换为int并放入一个数组
int x =725912;
String mystring=String.valueOf(x);
int[] nums = new int[x.length()];
for (int i = 0; i < mystring.length(); i++){
nums[i] = Integer.parseInt(mystring.substring(i,i+1));
}