Java 如何从文本字符串中删除字符
如何通过按back space键从文本字符串中删除字符。 这就是我目前所得到的。它只删除最后一个字符Java 如何从文本字符串中删除字符,java,processing,Java,Processing,如何通过按back space键从文本字符串中删除字符。 这就是我目前所得到的。它只删除最后一个字符 if (keyPressed) { if (key != '\n' && key != CODED) { if (typing.length() < 5){ typing = typing + key; } } if (key == BACKSPACE) { if (typing
if (keyPressed) {
if (key != '\n' && key != CODED) {
if (typing.length() < 5){
typing = typing + key;
}
}
if (key == BACKSPACE) {
if (typing.length() > 0) {
typing = typing.substring(0, typing.length()-1);
}
}
}
text(typing, 345, 372);
if(按键){
如果(键!='\n'&&key!=编码){
if(键入.length()<5){
打字=打字+按键;
}
}
如果(键==退格){
if(键入.length()>0){
typing=typing.substring(0,typing.length()-1);
}
}
}
文本(打字,345372);
这是因为退格
,所以当键入.length()
小于5
时,按退格
可以满足这两个条件。当它达到5
时,它只满足第二个条件:if(key==BACKSPACE)
使其工作,使其回到5
以下,使其不再工作
作为测试,请尝试:if(key!='\n'&&key!=CODED&&key!=BACKSPACE)
但是我想你可能需要一个开关(键)
来完成这项工作
另外,您最好使用void keyPressed()
或keyreased()
或keyTyped()
在draw()中,不是按键,而是按该字段。或者您需要自己处理按键重复…这是因为BACKSPACE
,所以当键入.length()
小于5
并且按BACKSPACE
时,您满足这两个条件。当它达到5
时,它只满足第二个条件:if(key==BACKSPACE)
使其工作,使其回到5
以下,使其不再工作
作为测试,请尝试:if(key!='\n'&&key!=CODED&&key!=BACKSPACE)
但是我想你可能需要一个开关(键)
来完成这项工作
另外,您最好使用void keyPressed()
或keyreased()
或keyTyped()
在draw()中,不是按键,而是按该字段。或者您需要自己处理键重复…字符串来自何处?你在使用GUI吗?把你的键==BACKSPACE
放在if(按键)按钮内谢谢你Bhavik Shah。我怎么没看到呢???@MadProgrammer。。子字符串是否将子字符串从startIndex
提取到endIndex-1
?所以它应该是typing.length()-1
。运算代码的这一部分是正确的。@MadProgrammersubstring
给出的字符串从指定的beginIndex开始,并扩展到索引endIndex-1处的字符。因此,如果只想删除最后一个字符,为什么不使用typing=typing.substring(0,typing.length()-1)代码>字符串来自何处?你在使用GUI吗?把你的键==BACKSPACE
放在if(按键)按钮内谢谢你Bhavik Shah。我怎么没看到呢???@MadProgrammer。。子字符串是否将子字符串从startIndex
提取到endIndex-1
?所以它应该是typing.length()-1
。运算代码的这一部分是正确的。@MadProgrammersubstring
给出的字符串从指定的beginIndex开始,并扩展到索引endIndex-1处的字符。因此,如果只想删除最后一个字符,为什么不使用typing=typing.substring(0,typing.length()-1)当我看到Bhavik Shah的评论时,我意识到我做错了什么。谢谢你的解释。当我看到Bhavik Shah的评论时,我意识到我做错了什么。谢谢你的解释。