-3

オラクルでは:

ケース 1:

SELECT INSTR('Viveok Srinivoasamoorthy','o',15,1) FROM DUAL;

出力: 19

ケース 2: SELECT INSTR('Viveok Srinivoasamoorthy','o',15,2) FROM DUAL; 出力: 20

同様に、達成するために4つのパラメーター(文字列、部分文字列、開始位置、およびnthoccurrence)を持つJavaプログラムを開発する必要があります。

これは私が試したコードですが、以下のコードではn番目の出現を見つけることができません:

public static int nthoccur(String str1,String str2,int occurs )
{
    int f_occurance=0;
    f_occurance=str1.indexOf(str2, occurs-1)+1;
    System.out.println("f_occurance Value------*** "+f_occurance);
    return f_occurance;     
} 

public static void main(String args[])
{

int resultinst=nthoccur("Viveok Srinivoasamoorthy","o",15);
System.out.println(resultinst);
}

出力:

f_occurance Value------*** 19
19

Javaプログラムを使用して、文字列の15番目の位置から2番目に出現する「o」を見つけたいと思います。Javaプログラムを使用してケース2を達成するにはどうすればよいですか?

4

2 に答える 2

0

ここにもう 1 つの方法があります。-1 は出現がないことを意味します。 getInstring(String input, String substr, int start, int occurence) { char[] tempstring = input.substring(start).replaceAll(substr, "-").toCharArray(); int occurindex = 0; int counter = 0; for (int i = 0; i < tempstring.length; i++) { if (":-".equals(":" + tempstring[i])) { occurindex++; counter = i; } if (occurindex == occurence) { break; } } return counter == 0 ? -1 : counter + start + 1; }

于 2016-03-29T14:27:21.893 に答える