我有一個問題,我想查看輸入用戶是否輸入了部分匹配,或者只要多數匹配與答案,如果匹配,那么它應該列印出“幾乎正確”。例如,假設答案是足球,但用戶輸入的是足球。然后它應該列印出來幾乎正確。
這是我嘗試過的。但問題是它只是檢查整個單詞是否包含在 ENG 中,否則即使缺少一個字符它也不起作用。
if (Answer.equalsIgnoreCase(ENG)){
r = "Correct";
}
else if (Answer.toLowerCase().contains(ENG.toLowerCase().)){
r = "Almost correct";
}
else {
r = "Wrong";
}
System.out.println(r)
uj5u.com熱心網友回復:
這段代碼當然不是很完美,但基本上是比較Strings,保存了另一個String中對應的字符匹配了多少個字符。這當然導致它對不同大小的字串不能很好地作業,因為它會將丟失的字母之后的所有內容都視為錯誤(除非它偶然匹配字符)。但也許無論如何它都會有所幫助:
String match = "example";
String input = "exnaplr";
int smaller;
if (match.length() < input.length())
smaller = match.length(); else smaller = input.length();
int correct = 0;
for (int i = 0; i < smaller; i ) {
if (match.charAt(i) == input.charAt(i)) correct ;
}
int percentage = (int) ((double) correct / match.length() * 100);
System.out.println("Input was " percentage "% correct!");
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/393394.html
上一篇:解碼字串變數中的單個八進制字符
