只需要求各位之和,然后这个数如果小于10就输入,大于等于10就继续循环求解即可。
import java.math.*;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.io.StreamTokenizer;
import java.util.*;
public class Main {
public static void main(String args[])throws IOException
{
StreamTokenizer in = new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in)));
PrintWriter out = new PrintWriter(new OutputStreamWriter(System.out));
PriorityQueue<Integer> queue = new PriorityQueue<>();
in.nextToken();
int n = (int)in.nval;
while(n>=10)
{
n = xpp(n);
}
out.print(n);
out.flush();
}
public static int xpp(int n)
{
int temp=0;
while(n>0)
{
temp+=n%10;
n/=10;
}
return temp;
}
}

京公网安备 11010502036488号