编程题
从键盘上输入一个整数,分别计算奇数位和偶数位之和。
1.首先需要明白,什么是奇数位?什么是偶数位?
一个整数,个位为奇数位,十位为偶数位,百位为奇数位,...以此类推。
2.分别取出整数的奇数位和偶数位的数字,那么可能需要使用数组。
经过上面的分析,下面看实现。
public class Test1 {
public static void main(String[] args) {
jisuan(123456789);
jisuan(109872394);
}
private static void jisuan(int a) {
String str = String.valueOf(a);//首先先将整数转化为字符串
char[] chars = str.toCharArray();//将字符串转化为字符数组
int length = str.length();//获取该数组的长度
int oddTotal = 0;//奇数位总和
int evenTotal = 0;//偶数位总和
//数组中保存的字符的顺序和整数中的意思刚好是相反的,例如,数组中的第一位,对应的是整数中的最高位,并且数组的下标是从‘0’开始的
for (int i = length - 1; i >= 0; i--) {
int j = Integer.parseInt(chars[i] + "");//将字符转化为int
//判断是奇数位还是偶数位
if (i % 2 == 0) {
oddTotal += j;
} else {
evenTotal += j;
}
}
System.out.println(a + ",偶数位和------------->" + evenTotal);
System.out.println(a + ",奇数位和------------->" + oddTotal);
}
}
运行效果截图,