나는 잠시 동안이 주제를 연구했지만 많은 성공을 거두지 못했다. 나는 StringBuilder를 찾았지만 경이로움을 느끼지 만 그게 내가 가진 것입니다. 그래서이 작업을 수행 할 수있는 간단하고 효과적인 방법이있다, 그러나밑줄을 숯이나 문자열로 바꾸는 효율적인 방법
if(strGuess.equalsIgnoreCase("t")){
mainword.replace(0,1,"T");
gletters.append('T');
}
else if(strGuess.equalsIgnoreCase("e")){
mainword.replace(1,2,"E");
gletters.append('E');
}
else if(strGuess.equalsIgnoreCase("c")){
mainword.replace(2,3,"C");
gletters.append('C');
}
else if(strGuess.equalsIgnoreCase("h")){
mainword.replace(3,4,"H");
gletters.append('H');
}
else if(strGuess.equalsIgnoreCase("n")){
mainword.replace(4,5,"N");
gletters.append('N');
}
else if(strGuess.equalsIgnoreCase("o")){
mainword.replace(5,6,"O");
mainword.replace(7,8,"O");
gletters.append('O');
}
else if(strGuess.equalsIgnoreCase("l")){
mainword.replace(6,7,"L");
gletters.append('L');
}
else if(strGuess.equalsIgnoreCase("g")){
mainword.replace(8,9,"G");
gletters.append('G');
}
else if(strGuess.equalsIgnoreCase("y")){
mainword.replace(9,10,"Y");
gletters.append('Y');
}
else{
JOptionPane.showMessageDialog(null, "Sorry, that wasn't in the word!");
errors++;
gletters.append(strGuess.toUpperCase());
}
SetMain = mainword.toString();
GuessedLetters = gletters.toString();
WordLabel.setText(SetMain);
GuessedLabel.setText(GuessedLetters);
GuessText.setText(null);
GuessText.requestFocusInWindow();
, 나는 모든 단어마다 편지에 대해이 작업을 수행 할 수 없습니다 여기에 내가해야 그것을처럼 작동하는 내 교수형 집행 인 프로그램을 가지고하는 방법? 내가 원하는 것은 어떤 단어에 대해서만 한 번 사용해야 할 수 있도록 일종의 루프를 갖는 것입니다. 따라서 단어는 기술 (위와 같음) 또는 사과 또는 절임 또는 크리스마스 또는 안녕 등이 될 수 있습니다.
for 루프를 사용해 보았습니다. 그 답은 거짓말이라고 생각합니다. 그리고 누군가가 charAt() 메소드를 설명 할 수있는 방법과 사용 방법이 있다면 좋을 것입니다. 가장 효율적인 방법은 다음과 같습니다.
for(i = 0; i < GuessWord.length(); i++) {
if (GuessWord.charAt(i) == guess2) {
mainword.replace(i,i,strGuess.toUpperCase());
}
그래서 이것을 기본으로 사용하고 해결할 수 있다면 해결할 수 있을까요? 또는 내가 생각하지 못한 것을 말해 줘.
무엇 코드의 루프/수 charAt에 대한 블록 문제? –
@ZackMacomber, 버튼을 클릭해도 아무런 변화가 없기 때문에 조건이 충족되지 않는다고 생각합니다. 사용자가 정확하게 – JavaProdigy