一、问题描述
在本道题目中,要求对每一个数字进行平方运算;例如如果我们通过函数 squareDigits() 运行9119,将会得到811181。此函数接收一个整型类型的数,并返回一个整型的数。
二、算法思想
1.将数字上的每一位上的数字取出来。
String nS = String.valueOf(n);
char[] nsC = nS.toCharArray();
2.将 char 类型转换成 int 类型。
a[i] = (int)(nsC[i] - 48);
3.平方运算。
b[i] = a[i] * a[i];
4.将平方运算后的 int 类型的数字转换成 String 类型并加入到String[] 数组中。
str[i] = Integer.toString(b[i]);
5.将字符串数组 str[] 转换成字符串 s
sb. append(str[i]);
String s = sb.toString();
6.将字符串 s 转换成 int 类型。
int n_out = Integer.parseInt(s);
三、完整代码
public int squareDigits(int n){
String nS = String.valueOf(n);
char[] nsC = nS.toCharArray();
int[] a = new int[nsC.length];
int[] b = new int[nsC.length];
String[] str = new String[nsC.length];
StringBuffer sb = new StringBuffer();
for (int i = 0; i < nsC.length; i++) {
a[i] = (int)(nsC[i] - 48);
b[i] = a[i] * a[i];
str[i] = Integer.toString(b[i]);
sb. append(str[i]);
}
String s = sb.toString();
int n_out = Integer.parseInt(s);
return n_out;
}