我正在嘗試製作一個代碼,可以檢測用戶輸入中與存儲在程序中的字符串數組有關的錯誤。檢測字符串輸入中的字錯誤
比方說,計劃中包含「敏捷的棕色狐狸跳過懶狗」
如果用戶輸入「敏捷的棕色是名在跳懶惰」
該程序會告訴你有用戶犯了5個錯誤。但是我的代碼對於上面提到的用戶輸入來說工作不正確。我的代碼缺乏什麼來檢測這種錯誤。下面是代碼:
public void checkTextCompleted()
{
String input= text.getText();
int temp=array[0],mistakes=0;
if(input.length()==data.length()) {
text.setEditable(false);
text.setFocusable(false);
for(int j=0;j<dataWords;j++) {
int x = input.indexOf(data.substring(array[j]-temp, array[j]-1));
System.out.println(x);
if(x != -1) {
String subs = input.substring(x, input.length());
if(data.contains(subs)) {
break;
} else {
mistakes++;
if(j!=0)
temp=array[j-1];
else
temp=array[j];
}
}
else
mistakes++;
}
JOptionPane.showMessageDialog(null,"You have made "+mistakes+" mistakes" , "Typing Test Completed", JOptionPane.OK_OPTION);
}
}
陣列[]包含在該程序中檢測到所述空間內置字符串(數據)的位置和數據字包含內建的字符串(數據)的程序的字的數量。用戶輸入存儲在「輸入」中
我的代碼缺少什麼來檢測上述問題?
注: 如果用一個詞是錯誤的,之後剩下的字符串是正確的,錯誤的將是1其他明智的,接下來的錯誤會在同一個主體進行檢測。
問候
什麼時候出現1錯誤?你有什麼要求?例如。 'a b'而不是'ba',這是1或2個錯誤? 'abc'而不是'cba'; 1或3個錯誤? –
你究竟在問什麼? –
當用戶輸入「QUICK棕色狐狸跳過懶惰狗」或「QUi棕色狐狸跳過懶惰狗」時發生1個錯誤。類似地,當輸入是「The Falik brown Fox jmps over the lazy dog」時,會發生2個錯誤。在堅果應該宣佈一個錯誤之前,我的程序檢查單詞後的子字符串,其索引目前是 – Alfred