我正在尝试学习如何使用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));
}

最佳答案

你的问题

您需要删除变量名周围的引号。

int pos=s.lastIndexOf("dot");


变成

int pos=s.lastIndexOf(dot);


 放在一边

如果您使用过调试器,则可以很容易地自己解决这个问题。我忍不住感觉到您已经将SO用作首选手段,而不是应有的手段。当您真正用尽了所有您自己知道的调查方法时可以去的地方。

 调试器

几乎每个IDE(Eclipse,Netbeans等)都具有称为调试器的功能。调试器使您可以逐行浏览程序,并在程序开发时查看每个变量的值。如果使用的是Eclipse,请在顶部的工具栏上选择Run -> Debug,以在调试模式下初始化程序。对于Netbeans,“运行”按钮(播放符号)右侧有一个调试按钮。仅举几个例子。

关于java - LastIndexOf函数用法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15866795/

10-13 04:33