我正在尝试学习如何使用lastIndexOf
函数,但代码对我不起作用。点击按钮后,我只得到整个文本,而不仅仅是扩展名。我做错了什么?
private String getExtension(String s)
{
char dot='.';
int pos=s.lastIndexOf("dot");
String root=s.substring(pos+1);
return root;
}
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt)
{
String s=jTextField1.getText();
jLabel1.setText(getExtension(s));
}
答案 0 :(得分:4)
您需要删除变量名称周围的引号。
int pos=s.lastIndexOf("dot");
变为
int pos=s.lastIndexOf(dot);
如果您使用调试器,这可能已经很容易解决了。我不禁觉得你已经把SO作为第一手段,而不是它应该是什么样的;当你真正用尽所有你个人都知道的调查方法时,你可以去的地方。
调试程序
几乎每个IDE(Eclipse,Netbeans等)都有一个叫做调试器的东西。调试器允许您逐行浏览程序,并在程序开发时查看每个变量的值。如果您正在使用Eclipse,请在顶部的工具栏上选择Run -> Debug
,以在调试模式下初始化程序。对于Netbeans,“运行”按钮(播放符号)右侧有一个调试按钮。举几个例子。
答案 1 :(得分:1)
取出lastIndexOf
声明中的引号。
int pos=s.lastIndexOf("dot");
// ^---^
// +---------- Take those " out