我正在训练代码大战 kata,而 kata 是:
在工厂里,打印机打印盒子的标签。对于一种盒子,打印机必须使用颜色,为简单起见,使用从 a 到 m 的字母命名。
打印机使用的颜色记录在控制字符串中。例如,一个“好”的控制字符串是 aaabbbbhaijjjm,这意味着打印机使用了 3 次颜色 a、4 次颜色 b、1 次颜色 h 和 1 次颜色 a...
有时会出现问题:缺少颜色、技术故障和产生“坏”控制字符串,例如 aaaxbbbbyyhwawiwjjjwwm 的字母不是从 a 到 m。
您必须编写一个函数printer_error,它给定一个字符串,将打印机的错误率输出为一个字符串,表示一个有理数,其分子是错误数,分母是控制字符串的长度。不要将此分数简化为更简单的表达式。
该字符串的长度大于或等于 1,并且仅包含从 a 到 z 的字母。
例子:
s="aaabbbbhaijjjm"
error_printer(s) => "0/14"
s="aaaxbbbbyyhwawiwjjjwwm"
error_printer(s) => "8/22"
作为一个新手,我尝试过。我的程序是这样的:
public class Printer {
public static String printerError(String s) {
int printErr = 0;
char end = 110;
int i = 0;
while (i < s.length()){
if(s.charAt(i) > end ){
printErr++;
}
i++;
}
String rate = String.format("%d/%d",printErr , s.length());
return rate;
}
}
它通过了测试,但在提交 Kata 时,计数器缺少 1 或 2 个数字。任何人都可以帮忙吗?