java int取出各个数位
比如一个int类型的数字是12345,我现在需要取出各个数位的数字,应该如何实现?取出来的数字也必须是int类型。如:12345;取出来后就是1,2,3,4,5相加后是1...
比如一个int类型的数字是12345,我现在需要取出各个数位的数字,应该如何实现?
取出来的数字也必须是int类型。
如:12345;
取出来后就是1,2,3,4,5
相加后是15;
PS:刚才本来想string取出来进行相加的,结果类型转换后成了ascii码相加。
希望高手有更好的方法也指点一下哈,谢啦^ ^ 展开
取出来的数字也必须是int类型。
如:12345;
取出来后就是1,2,3,4,5
相加后是15;
PS:刚才本来想string取出来进行相加的,结果类型转换后成了ascii码相加。
希望高手有更好的方法也指点一下哈,谢啦^ ^ 展开
6个回答
展开全部
public static void main(String[] args) {
int i = 12345;
int j = 0;
while(i != 0){
j += i %10;
i = i /10;
System.out.println(j);
}
}
LS的方法必须要知道原int 的个数。。。所以我的这个比较通用,当然你可以写成方法,把i 作为参数。。。
public int zhidao (int i){
int j = 0;
while(i != 0){
j += i %10;
i = i /10;
}
return j;
}
int i = 12345;
int j = 0;
while(i != 0){
j += i %10;
i = i /10;
System.out.println(j);
}
}
LS的方法必须要知道原int 的个数。。。所以我的这个比较通用,当然你可以写成方法,把i 作为参数。。。
public int zhidao (int i){
int j = 0;
while(i != 0){
j += i %10;
i = i /10;
}
return j;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
String可以阿
public class Test {
public static void main(String[] args) {
int num = 12345;
int total = getSum(num);
System.out.println(total);
}
private static int getSum(int num) {
String str = String.valueOf(num);
int sum = 0;
for(int i = 0; i < str.length(); i++){
sum += Integer.parseInt(String.valueOf(str.charAt(i)));
}
return sum;
}
}
---------------
15
public class Test {
public static void main(String[] args) {
int num = 12345;
int total = getSum(num);
System.out.println(total);
}
private static int getSum(int num) {
String str = String.valueOf(num);
int sum = 0;
for(int i = 0; i < str.length(); i++){
sum += Integer.parseInt(String.valueOf(str.charAt(i)));
}
return sum;
}
}
---------------
15
追问
也谢谢你的方法,我还是采取1L的答案吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不一定是最优的, 只是个思路:
~~~
import java.util.ArrayList;
public class ExtractElements {
public static void main(String[] args) {
int i = 12345678;
System.out.println(extract(i));
}
private static ArrayList<Integer> extract(int i) {
ArrayList<Integer> list = new ArrayList<>();
String[] arr = String.valueOf(i).split("");
for (String s : arr) {
list.add(Integer.valueOf(s));
}
return list;
}
}
// Output: [1, 2, 3, 4, 5, 6, 7, 8]
~~~
~~~
import java.util.ArrayList;
public class ExtractElements {
public static void main(String[] args) {
int i = 12345678;
System.out.println(extract(i));
}
private static ArrayList<Integer> extract(int i) {
ArrayList<Integer> list = new ArrayList<>();
String[] arr = String.valueOf(i).split("");
for (String s : arr) {
list.add(Integer.valueOf(s));
}
return list;
}
}
// Output: [1, 2, 3, 4, 5, 6, 7, 8]
~~~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不好意思哈,刚才那个写错了
int i = 12345;
String str = i + "";
int total = 0;
for(int s = 0;s < str.length();s ++)
{
System.out.println(str.charAt(s));
char c = str.charAt(s);
total = total + Integer.parseInt(c + "");
System.out.println("total = " + total);
}
int i = 12345;
String str = i + "";
int total = 0;
for(int s = 0;s < str.length();s ++)
{
System.out.println(str.charAt(s));
char c = str.charAt(s);
total = total + Integer.parseInt(c + "");
System.out.println("total = " + total);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询