프로그램에 저장된 문자열 배열과 관련하여 사용자 입력에서 실수를 감지 할 수있는 코드를 만들려고합니다.문자열 입력의 단어 오류 감지
이 프로그램
사용자가 입력하는 경우 "빠른 갈색 여우가 게으른 개 점프"를 포함 말할 수 있습니다
프로그램 당신이 가지고있는 사용자에게 알려줍니다 "빠른 갈색 이름 이상이 게으른 점프입니다" 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);
}
}
배열 []는 공간이 프로그램에 내장 문자열 (데이터)를 검출하는 위치와 dataWords 포함 문자열 (데이터) 내장 프로그램의 단어의 수를 포함 여기서 코드이다. 사용자 입력이 "입력"에 저장됩니다.
위에서 언급 한 문제를 감지하지 못한 코드는 무엇입니까?
는참고 : 하나 개의 단어가 잘못과 후 나머지 문자열이 올바른 경우, 실수 한 다른 현명한, 다음 실수가 같은 주에 감지됩니다.
감사
언제 실수입니까? 요구 사항은 무엇입니까? 예 : 'ba'대신 'a b'라고 쓰면이 1 ~ 2 번의 실수가 있습니까? 'cba'대신 'abc'; 1 개 또는 3 개의 실수? –
당신은 실제로 무엇을 물어 보려고합니까? –
사용자가 "Quick brown fox가 게으른 개로 점프"또는 "qui brown fox가 게으른 개로 점프"라고 입력하면 실수가 발생합니다. 유사하게 2 개의 실수는 입력이 "게으른 개 위에 QUik brown fox jmps"일 때 발생합니다. 너트에서 실수를 선언하기 전에 내 프로그램은 단어 뒤에 하위 문자열을 검사합니다. 색인은 현재 – Alfred