Java:无法获取等于零的数字零
我正在创建一个程序,该程序将确定并从键盘打印整数中的奇数、偶数和零位数。我尝试了几种不同的方法,每种方法都得到了相同的结果。我无法让java将0识别为0,而只能将其识别为偶数。例1005将给出2个赔率和2个偶数Java:无法获取等于零的数字零,java,Java,我正在创建一个程序,该程序将确定并从键盘打印整数中的奇数、偶数和零位数。我尝试了几种不同的方法,每种方法都得到了相同的结果。我无法让java将0识别为0,而只能将其识别为偶数。例1005将给出2个赔率和2个偶数 public static void main(String[] args) { int odd = 0; int even = 0; int zero = 0; int input; Scanner scan = new Scanner (System.
public static void main(String[] args) {
int odd = 0;
int even = 0;
int zero = 0;
int input;
Scanner scan = new Scanner (System.in);
System.out.println("Input an integer please: ");
input = scan.nextInt();
System.out.println("Your number is: " + input);
String x = Integer.toString(input);
for (input = 0; input < x.length(); input++){
char a = x.charAt(input);
System.out.println(a);
Character.getNumericValue(a);
if (a==0){
System.out.println ("+1 Zero");
zero++;
}
else if (a%2 == 0 && a>1){
System.out.println("+1 Even");
even++;
}
else {
System.out.println("+1 Odd");
odd++;
}
}
System.out.println("There are " + odd + " odd numbers!");
System.out.println("There are " + even + " even numbers!");
System.out.println("There are " + zero + " zero numbers!");
}
publicstaticvoidmain(字符串[]args){
int奇数=0;
int偶数=0;
int零=0;
int输入;
扫描仪扫描=新扫描仪(System.in);
System.out.println(“请输入一个整数:”);
输入=scan.nextInt();
System.out.println(“您的号码是:“+input”);
字符串x=整数.toString(输入);
用于(输入=0;输入1){
System.out.println(“+1偶数”);
偶数++;
}
否则{
系统输出打印项次(“+1奇数”);
奇数++;
}
}
System.out.println(“有“+奇数+”奇数!”);
System.out.println(“有“+偶数+”偶数!”);
System.out.println(“有”+zero+“零个数字!”);
}
您尚未将Character.getNumericValue(a)分配给int值
char a = x.charAt(input);
System.out.println(a);
int y= Character.getNumericValue(a);
if (y==0){
System.out.println ("+1 Zero");
zero++;
}
else if (y%2 == 0 && y>1){
System.out.println("+1 Even");
even++;
}
else {
System.out.println("+1 Odd");
odd++;
}
该方法返回一个int
。它不会隐式更改参数(本例中为字符变量“a”)
因此,您应该比较getNumericValue方法的返回值,而不是原始字符。首先将字符a转换为int