在java里我用循环去截取一段字符串,但是和正常的效果不一样,请高手指导!
方式一:publicclassStringTest{publicstaticvoidmain(String[]args){Strings="asdfghjkl";Syst...
方式一:public class StringTest {
public static void main(String[] args) {
String s="asdfghjkl";
System.out.println(s.substring(2));
}
}
方式2:
public class StringTest {
public static void main(String[] args) {
String s="asdfghjkl";
for(int j=0;j<s.length();j++){
System.out.println(s.substring(j,s.length()));
}
}
}
我知道substring()是截取第一个参数到第二个参数的长度字符串,但是用循环时却是先截取长的,但是我的j是增加的啊!!! 展开
public static void main(String[] args) {
String s="asdfghjkl";
System.out.println(s.substring(2));
}
}
方式2:
public class StringTest {
public static void main(String[] args) {
String s="asdfghjkl";
for(int j=0;j<s.length();j++){
System.out.println(s.substring(j,s.length()));
}
}
}
我知道substring()是截取第一个参数到第二个参数的长度字符串,但是用循环时却是先截取长的,但是我的j是增加的啊!!! 展开
展开全部
第二个方法是不是报错,因为你的字符串s一直是以前的那个s,没有改变呢。。
在for循环里这样改就行了:
s=s.substring(j,s.length());
System.out.println(s.substring(j,s.length()));
这样就可以一直截取后几个字符了。。
希望可以帮助你,如果还有问题请追问,谢谢采纳。。
在for循环里这样改就行了:
s=s.substring(j,s.length());
System.out.println(s.substring(j,s.length()));
这样就可以一直截取后几个字符了。。
希望可以帮助你,如果还有问题请追问,谢谢采纳。。
更多追问追答
追问
大哥,你先运行一下看看呢。
追答
失误。。。你这个代码就相当于这个System.out.println(s.substring(j));
因为你的s不变,s的长度也就不变,永远是从j的位置到字符结束,肯定是从最长的开始啊,因为是从0的位置开始的。。。。不知道你还想问什么?
希望可以帮助你,如果还有问题请追问,谢谢采纳。。
展开全部
String substring(int beginIndex, int endIndex)
s.substring(j,s.length())
循环j是增加的,但是s.length()却不变,你可以这么理解,这个方法获取的是
字符串[从s字符串的第j个字符到s.length()个字符]
所以随着j的增加,你获得的字符串就会变短
s.substring(j,s.length())
循环j是增加的,但是s.length()却不变,你可以这么理解,这个方法获取的是
字符串[从s字符串的第j个字符到s.length()个字符]
所以随着j的增加,你获得的字符串就会变短
追问
嗯
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
String substring(int beginIndex, int endIndex)
返回一个新字符串,它是此字符串的一个子字符串
你理解错误了吧
返回一个新字符串,它是此字符串的一个子字符串
你理解错误了吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
第2个参数,是要截取的数量。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
0到总数不是先截取最长的先嘛?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询