Java - 扩展形式的编号
我已经给出了数字,并希望它以扩展形式返回为字符串。例如
expandedForm(12); # Should return "10 + 2"
expandedForm(42); # Should return "40 + 2"
expandedForm(70304); # Should return "70000 + 300 + 4"
我的函数适用于第一种和第二种情况,但对于70304,它给出了以下结果:
70 + 00 + 300 + 000 + 4
这是我的代码
import java.util.Arrays;
public static String expandedForm(int num)
{
  String[] str = Integer.toString(num).split("");
  String result = "";
  for(int i = 0; i < str.length-1; i++) {
    if(Integer.valueOf(str[i]) > 0) {
      for(int j = i; j < str.length-1; j++) {
        str[j] += '0';
      }
    }
  }
  result = Arrays.toString(str);
  result = result.substring(1, result.length()-1).replace(",", " +");
  System.out.println(result);
  return result;
}
我认为第二个循环有问题,但不知道为什么。
 
					 
				 
				    		 
				    		 
				    		 
				    		