例如:输入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);
}
}这里插入代码片