【发布时间】:2020-08-16 05:49:49
【问题描述】:
任务是编写一个函数来接收路径的两个部分并将它们连接起来。这些部分将使用“/”分隔符连接。可能只有一个分隔符,如果不存在,则应添加。
例子:
joinPath("portion1", "portion2") ➞ "portion1/portion2"
joinPath("portion1/", "portion2") ➞ "portion1/portion2"
joinPath("portion1", "/portion2") ➞ "portion1/portion2"
joinPath("portion1/", "/portion2") ➞ "portion1/portion2"
我的代码:
public class Challenge {
public static String joinPath(String portion1, String portion2) {
return (portion1.substring(portion1.length()-1) != "/" && portion2.substring(0,1) != "/")
? portion1 + "/" + portion2 :
(portion1.substring(portion1.length()-1) == "/" && portion2.substring(0,1) == "/")
? portion1.substring(0) + portion2.substring(1) :
portion1 + portion2;
}
}
我知道代码看起来很复杂,但问题的要求是尝试在没有if-else 条件的情况下解决它。我不知道为什么我的代码几乎没有通过所有测试。
我认为我犯了一个愚蠢的错误。有人可以指出错误吗?另外,有没有更好的方法可以在不使用if-else 条件的情况下解决这个问题?
【问题讨论】:
-
额外的
/分隔符出现在给定字符串中的什么位置? -
你可以使用接口
java.nio.file.Path吗? -
你用
==比较两个字符串,试试equals()?
标签: java