我正在研究一个不使用Java内置的Linked List类的程序; 我正在从头开始构建它.除了编写一个将Node插入到链表的特定位置的方法之外,我已经成功完成了所有工作.
我有一个方法将特定节点设置为"当前"节点.所以,例如,我有一个链接列表,如下所示:cats - > dogs - > make - > good - > pets,"current"等于2; 这意味着"当前"节点是"狗".
从这里开始,假设我想在"当前"的位置插入一个新节点,其信息字段为和.如果操作正确,最终的链表将是:cats - > 和 - > dogs - > make - > good - > pets ; "和"将取代第2位的"狗".
所以这是我的问题:我的方法是在第二个位置插入一个新节点,但是将新创建的节点链接到预先存在的节点会出错.我不仅将新节点插入列表中,而且还在"狗"之前插入没有信息的节点.正如我的代码目前运行,输出看起来像这样:猫 - > 和 - >(空白) - > 狗 - > 制作 - > 好 - > 宠物.
我99.9%肯定问题出在代码的(如果当前!= null)部分,我只是无法弄清楚如何解决它.
除了我想要添加的节点之外,还有任何关于我为什么要插入空节点的想法?
public void insert () {
System.out.println("Please enter the text you wish to insert, or type \"end\" if …Run Code Online (Sandbox Code Playgroud) 我正在处理批处理脚本,因此需要一种从完整路径字符串中删除最低级别目录的方法。因此,例如,如果我有:
C:/目录1 /目录2 /目录3
我希望我的批处理脚本返回“ dir3”。该字符串C:/ dir1 / dir2 / dir3由用户传递,并设置为变量“ FullPath”。
我在这里查看了答案,这似乎是一个类似的问题,但是那里的解决方案没有使用定界符。而且,我最想解决的是以下代码:
for /f "tokens=(some number) delims=\" %%a in ("%FullPath%") do echo Token=%%a
Run Code Online (Sandbox Code Playgroud)
...这可以回显我指定的任何标记(我最终将把这个标记设置为一个变量,但是我需要先获得一个正确的标记),但是我不知道会有多少标记,我一直想字符串中的最后一个字符,如“ \”字符之后。
如何编辑此行代码以返回字符串中的最终令牌?