Pretty easy. Just make appropriate functions and call them recursively.
import java.io.PrintWriter;
import java.text.DecimalFormat;
import java.util.Scanner;
/**
*
* @author Sanchit M. Bhatnagar
* @see http://uhunt.felix-halim.net/id/74004
*
*/
public class P10424 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
PrintWriter out = new PrintWriter(System.out);
DecimalFormat df = new DecimalFormat();
df.setMinimumFractionDigits(2);
df.setMaximumFractionDigits(2);
while (sc.hasNextLine()) {
String first = sc.nextLine().toLowerCase();
String second = sc.nextLine().toLowerCase();
double numFirst = toNum(convert(first));
double numSecond = toNum(convert(second));
double ans;
if (numFirst < numSecond) {
ans = numFirst * 100 / numSecond;
} else {
ans = numSecond * 100 / numFirst;
}
out.println(df.format(ans) + " %");
}
out.close();
sc.close();
}
private static String convert(String first) {
int x = 0;
for (int i = 0; i < first.length(); i++) {
char c = first.charAt(i);
if (c >= 'a' && c <= 'z')
x += (c - 'a') + 1;
}
return x + "";
}
private static double toNum(String first) {
if (first.length() != 1) {
int x = 0;
for (int i = 0; i < first.length(); i++) {
x += Integer.parseInt(first.charAt(i) + "");
}
return toNum(x + "");
} else {
return Double.parseDouble(first);
}
}
}