给定2个字符串,返回它们的串联,除了省略每个字符串的第一个字符。字符串的长度至少为1。
这是我的代码,但我不知道它有什么问题:
public String nonStart(String a, String b) {
a.substring(1);
b.substring(1);
return a + b;
有我的代码,但根本不起作用。
答案 0 :(得分:0)
您必须将连接的结果放入另一个String
,因为Java中的String
个对象是不可更改的。
public String nonStart(String a, String b)
{
String S = ""; // new String object
S += a.substring(1); // concatenation with String a, without first character
S += b.substring(1); // concatenation with String b, without first character
return S;
}
答案 1 :(得分:0)
String
不会更改,因此调用a.substring(1)
不会更改a
。相反,它会创建一个全新的String
。
根据您的编码风格,您需要使用String
和a
重新分配b
s a =
b =
和public String nonStart(String a, String b) {
a = a.substring(1);
b = b.substring(1);
return a + b;
}
所指的内容。 :
a
当您这样做时,String
现在引用全新的a
,其中的字符少于原始b
。 b
现在指的是String
的新版本,其中少了一个字符。
然后,当你将两个新的created
加在一起时,你会得到你想要的结果。