只需要求各位之和,然后这个数如果小于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;
    }
                  }