2017/12/27java基础学习——代码错误分析

[Q]:水仙花数定义:
1. 一定是3位数
2. 每一位的立方,加起来恰好是这个数本身,比如153=1*1*1+5*5*5+3*3*3
寻找所有的水仙花数

[A]:

public class HelloWorld{
	public static void main(String[] args) {
		int min = 100;
		int max = 999;
		
		for (int i = min; i <= max; i++) {
			int single_digit = i % 100;
			int ten_digit = i / 10 % 10;
			int hundreds_digit = i / 100;
			
			int sum = single_digit * single_digit * single_digit + ten_digit * ten_digit * ten_digit + hundreds_digit * hundreds_digit *hundreds_digit;
			if(sum == i){
				System.out.println("i = " +i);
			}
		}
	}
}

第七行里,求得的是两位数[即十位与个位],代码显然是错误的,应修改为:

int single_digit = i % 10;

  

原文地址:https://www.cnblogs.com/lijiehua/p/8125247.html