关于JAVA字符串提取下标问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于JAVA字符串提取下标问题相关的知识,希望对你有一定的参考价值。
public static void main(String[] args)
Scanner input = new Scanner (System.in);
System.out.println("请输入一段字符:");
String aa=input.next();
System.out.println("请输入你所要查找的字符:");
String find=input.next();
int index=-1;
System.out.print("出现的位置:");
for(int i=0;i<aa.length();i++)
index=aa.indexOf(find,index+1);
if(index!=-1)
System.out.print(index+"\t");
aa=aa.substring(index-1);
else if(index==-1)
break;
为什么我的这段话输入的再多同样的 到查找最后的就不输出。。。INDEX就直接等于-1跳出了。。。=。=
例如输入“青春无悔青春无悔青春无悔青春无悔"
查找“春”字
正确结果为:1 5 9 13
为什么我的代码只出现倒 1 5 9
搜索13位的时候跳循环。
请大家帮忙修改!
用
int index = aa.indexOf(find);
while(index != -1)
System.out.println(index);
index = aa.indexOf(find, index+1);
参考技术A index = aa.indexOf( find, index + 1 );
这句话有问题,因为aa已经在下边被substring了,而index还是按照原来的长度计算的,解决的办法很多也很简单,自己想想就知道了
以上是关于关于JAVA字符串提取下标问题的主要内容,如果未能解决你的问题,请参考以下文章
Java解析truetype字体以将每个字符提取为图像及其代码