【问题标题】:Debugging variable error with Java使用 Java 调试变量错误
【发布时间】:2014-06-27 22:18:15
【问题描述】:

我正在尝试做这些事情。如果用户输入“C:\Windows\system32\foo.txt”,那么程序会将其转换为“C:\\Windows\\system32\\foo.txt”。前斜线需要添加到每个其他前面的斜线。这是我到目前为止编写的代码(仅相关部分):

import javax.swing.*;
public class test {
public static void main(String[] args){
    String path = JOptionPane.showInputDialog(null, "Enter the File path", "Word counter", JOptionPane.INFORMATION_MESSAGE);
    for (int z=0;z<=path.length()-1;z++)
    {
        if (path.charAt(z) == '\\')
        {
            path.charAt(z) = "\\\\";
        }
    }
    System.out.println(path); // For knowing what's going on
}
}

不幸的是,它没有编译,我不知道该怎么做。欢迎任何可能的帮助。谢谢!

【问题讨论】:

  • 如果您收到编译错误问题,您不认为您应该显示我们实际的错误消息并指出是哪一行导致的吗?有点常识,不是吗?
  • "输入文件路径" FUS (For User's Sake) 在此提供JFileChooser
  • 嗯,安德鲁,你的回答很神奇,我从来不知道。谢谢。

标签: java swing debugging for-loop char


【解决方案1】:

您正在尝试修改字符串。记住字符串是不可变的。

你可以试试

path.replace(oldChar, newChar) 如果你想替换一些字符。

【讨论】:

    【解决方案2】:

    此:path.charAt(z) 不能位于赋值语句的左侧。而是连接您的 String 或使用 StringBuilder。

    或者直接使用String的replace(...)方法。

    【讨论】:

      猜你喜欢
      • 2015-05-26
      • 2018-08-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多