编写一个程序,用以判断一个五位整数n各个数字的奇偶性,并求出他们的和
例如:13567
输出为:
奇数有:1357
偶数有:6
和:22import java.util.*;
public class Num8
{
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);
String s = in.nextLine();
char[] a = s.toCharArray();
String p = "";
String q = "";
int sum = 0;
for(int i = 0;i<a.length;i++)
{
if(a[i]%2 == 0)
{
p += a[i]+" ";
}
else if(a[i]%2 == 1)
{
q += a[i]+" ";
}
}
for(int i = 0;i<a.length;i++)
{
sum += a[i];
}
System.out.println("偶数有:"+p);
System.out.println("奇数有:"+q);
System.out.println("和为:"+sum);
}
}
这里的sum为什么输出的是ASCII码的和?怎么才能实现数组元素的和呢?
例如:13567
输出为:
奇数有:1357
偶数有:6
和:22import java.util.*;
public class Num8
{
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);
String s = in.nextLine();
char[] a = s.toCharArray();
String p = "";
String q = "";
int sum = 0;
for(int i = 0;i<a.length;i++)
{
if(a[i]%2 == 0)
{
p += a[i]+" ";
}
else if(a[i]%2 == 1)
{
q += a[i]+" ";
}
}
for(int i = 0;i<a.length;i++)
{
sum += a[i];
}
System.out.println("偶数有:"+p);
System.out.println("奇数有:"+q);
System.out.println("和为:"+sum);
}
}
这里的sum为什么输出的是ASCII码的和?怎么才能实现数组元素的和呢?
public static int parseInt(String s)
throws NumberFormatException将字符串参数作为有符号的十进制整数进行分析。除了第一个字符可以是用来表示负值的 ASCII 减号 '-' ('\u002D') 外,字符串中的字符都必须是十进制数字。返回得到的整数值,就好像将该参数和基数 10 作为参数赋予 parseInt(java.lang.String, int) 方法一样。 参数:
s - 包含要分析的 int 表示形式的 String。
返回:
用十进制参数表示的整数值。
抛出:
NumberFormatException - 如果字符串不包含可分析的整数。
——————————————————————————————
这方法在java.lang.Integer里 具体我就不写了
当你System.in传进来以后用上面方法处理下 直接转成数字。再处理
或者 一个个字母提出来在转成数字都行
比如:
char ch = '5';
int i = Character.getNumericValue(ch);