try {
Scanner s = new Scanner(new BufferedInputStream(System.in));
while (s.hasNextLine()) {
first = true;
int val1 = add(alpha, s.nextLine().toLowerCase().split(""));
int val2 = add(alpha, s.nextLine().toLowerCase().split(""));
first = false;
while (val1 > 9 || val2 > 9) {
val1 = add(alpha, Integer.toString(val1).split(""));
val2 = add(alpha, Integer.toString(val2).split(""));
}
if (val1 > val2) {
System.out.println(format.format((val2 / (double) val1) * 100) + " %");
} else {
System.out.println(format.format((val1 / (double) val2) * 100) + " %");
}
}
} catch (NoSuchElementException e) {
System.exit(0);
}
}
static int add(String[] alpha, String[] letter) {
int val = 0;
for (String string : letter) {
if (Character.isLetter(string.charAt(0))) {
val += Arrays.asList(alpha).indexOf(string) + 1;
} else if (!first && Character.isDigit(string.charAt(0)))
val += Integer.parseInt(string);
}
return val;
}
我已经阅读了几乎所有关于Scanner hasNext()的问题都没有正常工作,但我无法修复。解决这个问题的任何方法。输入是一个多行字符串,并且没有字符的标记。