//初始化一个随机的五位数字 public static int initNum(){ int randomNum = (int) (Math.random()*100000); System.out.println("随机的五位数是:"+randomNum); return randomNum; }
//分析一个五位数的各个位的奇偶性 public static Map<String,Integer> analysisNum(int num){ Map<String,Integer> nums = new TreeMap<String,Integer>(); //取得万位数 int millionNum = num/10000; nums.put("millionNum", millionNum); //取得千位数 int medianNum = (num-millionNum*10000)/1000; nums.put("medianNum", medianNum); //取得百位数 int hundredNum = (num-millionNum*10000-medianNum*1000)/100; nums.put("hundredNum", hundredNum); //取得十位数 int tendigitNum = (num-millionNum*10000-medianNum*1000-hundredNum*100)/10; nums.put("tendigitNum", tendigitNum); //取得个位数 int singledigitNum = (num-millionNum*10000-medianNum*1000-hundredNum*100-tendigitNum); nums.put("singledigitNum", singledigitNum);
while(n>0){
if((n&1)==0)
;//偶数
else
;//奇数
n/=10;
}
while ( i != 0 ) {
System.out.println( (i % 10 & 1) == 0 ? "even " : "odd");
i = i / 10;
}
int a=12345;
String str = String.valueOf(a);
char charArray [] = str.toCharArray();然后循环判断数组中的每一位。
剩下的给lz练手
public static void main(String[] args) throws Exception {
Test.judge(12345);
} public static void judge(int num) {
if(num < 10000 || num > 99999) return;
int temp = -1;
while(num > 0) {
temp = num % 10;
System.out.println(temp + (temp % 2 == 0 ? "偶数" : "奇数"));
num = num / 10;
}
}
}
1.需要把整型转换成字符串
2.num = num / 10;
/**
*
*/
package com.asp.tiger;import java.util.Map;
import java.util.TreeMap;
/**
* @author:YJ
* @time:2009-2-26
* @role:如何判断一个五位数各个位的奇偶性
*/
public class JudgeParity { /**
* @param args
*/
//初始化一个随机的五位数字
public static int initNum(){
int randomNum = (int) (Math.random()*100000);
System.out.println("随机的五位数是:"+randomNum);
return randomNum;
}
//分析一个五位数的各个位的奇偶性
public static Map<String,Integer> analysisNum(int num){
Map<String,Integer> nums = new TreeMap<String,Integer>();
//取得万位数
int millionNum = num/10000;
nums.put("millionNum", millionNum);
//取得千位数
int medianNum = (num-millionNum*10000)/1000;
nums.put("medianNum", medianNum);
//取得百位数
int hundredNum = (num-millionNum*10000-medianNum*1000)/100;
nums.put("hundredNum", hundredNum);
//取得十位数
int tendigitNum =
(num-millionNum*10000-medianNum*1000-hundredNum*100)/10;
nums.put("tendigitNum", tendigitNum);
//取得个位数
int singledigitNum =
(num-millionNum*10000-medianNum*1000-hundredNum*100-tendigitNum);
nums.put("singledigitNum", singledigitNum);
return nums;
}
//打印奇偶性
public static void printAnalysis(Map<String,Integer> nums){
//nums = analysisNum(initNum());
if(nums.get("millionNum")%2 == 0){
System.out.println("万位数为偶数");
}else{
System.out.println("万位数为奇数");
}
if(nums.get("medianNum")%2 == 0){
System.out.println("千位数为偶数");
}else{
System.out.println("千位数为奇数");
}
if(nums.get("hundredNum")%2 == 0){
System.out.println("百位数为偶数");
}else{
System.out.println("百位数为奇数");
}
if(nums.get("tendigitNum")%2 == 0){
System.out.println("十位数为偶数");
}else{
System.out.println("十位数为奇数");
}
if(nums.get("singledigitNum")%2 == 0){
System.out.println("个位数为偶数");
}else{
System.out.println("个位数为奇数");
}
}
public static void main(String[] args) {
//测试
printAnalysis(analysisNum(initNum()));
}}
&是二进制位操作符,楼主去复习一下啦
看过就能明白 怎么回事了
我也是新人,刚看到这题目再一看别人解说 一翻笔记 就基本明白了哈