题目:数字逆序且求各个位数乘积

来源:互联网 发布:淘宝免费打单软件 编辑:程序博客网 时间:2024/04/28 18:41
华为机试—数字逆序且求各个位数乘积
题目描述:
输入一个数字,将其倒叙输出,并输出其各个位上的乘积
输入描述:
一个正整数,保证在int范围内
输出描述
两个数字,用空格隔开,第一个数字为其倒叙的值,第二个数字是各个位上的乘积


输入样例
134
输出样例

431 12

package com.soft.wk;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.regex.Matcher;import java.util.regex.Pattern;/** * 数字逆序且求各个位数乘积 * @author wk * 2015-04-08 10:10 * */public class ReverseProduct {public static void main(String[] args) {BufferedReader in = new BufferedReader(new InputStreamReader(System.in));System.out.println("请输入一个数字符串:");String str;int result = 1;StringBuffer sb = new StringBuffer();try {str = in.readLine();String trim = str.trim();boolean flag = isNumber(trim);if(flag){Integer number = Integer.parseInt(trim);//转化为int类型if(number < Integer.MAX_VALUE && number > 0){//逆序并计算乘积for(int i = trim.length() - 1; i >= 0; i--){sb.append(trim.charAt(i));char c = trim.charAt(i);int num = Integer.parseInt(c+"");result = result * num;}}System.out.println("逆序后:"+sb.toString()+" "+"乘积:"+result);}else{System.out.println("输入的不全是数字!");}} catch (IOException e) {e.printStackTrace();}}/** * 输入的是否全是数字 * @param number * @return */public static boolean isNumber(String number){String regex = "^[0-9]+$";Pattern p = Pattern.compile(regex);Matcher m = p.matcher(number);if(!m.matches()){return false;}return true;}}


0 0
原创粉丝点击