我正在使用jFrame表单制作一个刽子手游戏,用于检查您输入的字母是否正确的按钮我还希望它能够检测您是否输入了错误的字母然后在标签上添加一个。到目前为止我所拥有的是:
private void tryLetterActionPerformed(java.awt.event.ActionEvent evt) {
int charPos = 0;
String letter = aLetter.getText();
charPos = FindWord.indexOf(letter);
MyMessage.setText("position is " + charPos);
if (charPos == 0) Char0.setText(letter);
if (charPos == 1) Char1.setText(letter);
if (charPos == 2) Char2.setText(letter);
if (charPos == 3) Char3.setText(letter);
if (charPos == 4) Char4.setText(letter);
}
我无法弄清楚要添加什么,以便在猜到错误的字母时将标签增加一个
答案 0 :(得分:0)
您需要比较他们输入的字母是否与尝试猜测的字母相同
import static org.mockito.Mockito.when;
import static org.powermock.api.mockito.PowerMockito.mock;
import javax.swing.JOptionPane;
import javax.swing.JTextArea;
import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.powermock.core.classloader.annotations.PrepareForTest;
import org.powermock.core.classloader.annotations.SuppressStaticInitializationFor;
import org.powermock.modules.junit4.PowerMockRunner;
@RunWith(PowerMockRunner.class)
@PrepareForTest(JOptionPane.class)
@SuppressStaticInitializationFor("javax.swing.text.JTextComponent")
public class PowerMockIssue {
@Test
public void powermockTest() {
final JTextArea textArea = mock(JTextArea.class);
when(textArea.getText()).thenReturn("test");
Assert.assertEquals("test", textArea.getText());
}
}
答案 1 :(得分:0)
如果同一个字母出现在不同的位置,您应该有:
var letterValues = new string[26]
使用数组而不是char0,~1,~2等,然后使用for循环,这可以更灵活一些。
或简化所有从“....”到“.A.A”替换为“.A.A - 错误!”的文本组件。到“JA.A”等。