“实现整型的各位数字之积与和的差值”

例如:输入123,输出123-(1+2+3)=0

两种实现方式见代码


import java.util.Scanner;

/*
 * 	题目描述:输入一个整数 n,请计算并返回该整数「各位数字之积」与「各位数字之和」的差
 * 	
 * 	输入:234
 * 	返回:15
 * 	解释:各位数之积 = 2 * 3 * 4 = 24
 * 		   各位数之和 = 2 + 3 + 4 = 9
 * 		   结果 = 24 - 9 = 15
 */

public class Text1 {
    
    
public static void main(String[] args) {
    
    
	
	//1.用户输入操作
	System.out.println("请输入一个整数:");
	Scanner input = new Scanner(System.in);
	
	System.out.printf("得到这个整数各位积与和的差值为:%d",diff(input.nextInt()));
	
		
	}
	
	
	public static int diff(int number) {
    
    
/*		//1.得到该数字各位数字
		//需将整型-->字符串
		String str = String .valueOf(number);
		
		//定义初始化和积变量;
		int sum =0;int ji = 1;
		for(int i=0;i<str.length();i++) {
			//获得每个字符
			char c= str.charAt(i);
			//把字符->字符串->整型
			String str1 = String.valueOf(c);
			int n = Integer.parseInt(str1);
			
			sum+=n;
			ji*=n;
			
			
			
		}
		//输出结果
		
		return (ji-sum);
*/
		
		int sum =0,result = 1;
		while(number!=0) {
    
    
			int n = number%10;
			number = number/10;
			sum= sum+n;
			result = result*n;
			
		}
		
		return (result-sum);
	}
	

}这里插入代码片

猜你喜欢

转载自blog.csdn.net/weixin_51553816/article/details/113715234