问题分析:
由示例可知,题目本意就是每次将各位相加,如果结果的值不是1位数字就反复操作
思路分析:
按老样子正行读取替换成字符数组,并将每位相加,直到长度为1就停止
代码:
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
char[] input= sc.nextLine().toCharArray();//存为字符数组
int count=0;//计算轮次
while (input.length>1){//限定条件长度大于1就继续操作
count++;//记录轮次
int plus=0;//作为每轮新值
for (int i:input){
plus+=i-'0';//各位相加获得新值,但是由于是字符所以要-‘0’才能变int型准确数字
}
input=Integer.toString(plus).toCharArray();//更新input
}
System.out.println(count);
}
}
感谢您能够看到这里,一起见证小何同学的算法学习,如果您有不同的见解,希望能得到您的指点和点悟;如果您是和我一样的同学,也希望这篇文章能对您有所帮助。