【问题描述】编写一个java函数strrindex(s,t),用于返回字符串t在字符串s中最右边出现的位置.该位置从0开始计数,如果s中不含有t,那么返回-1;在你编写的程序中,使用strrindex(s,t)函数,输入t,s,输出t在s最右边的位置. 【输入形式】控制台分行输入字符串s,t. 【输出形式】控制台输出一个整数,是t在s最右边出现的位置. 【样例输入】The strdup() function new returns a pointer to a new string new 【样例输出】49 【样例说明】输入的第一行为字符串s,第二行为字符串t="new".t在s中出现过两次,其中在最右边出现的位置中"new"的第一个字符'n'在s中所在的位置为49.
时间: 2024-03-04 12:49:45 浏览: 153
计算一个字符串在另一字符串中出现的次数函数
下面是Java函数strrindex(s,t)的实现代码,您可以直接复制使用:
```java
public static int strrindex(String s, String t) {
int i, j, k;
int len1 = s.length();
int len2 = t.length();
if (len2 > len1) {
return -1;
}
for (i = len1 - len2; i >= 0; i--) {
for (j = i, k = 0; k < len2 && s.charAt(j) == t.charAt(k); j++, k++);
if (k == len2) {
return i;
}
}
return -1;
}
```
主函数代码如下:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String s = sc.nextLine();
String t = sc.nextLine();
int index = strrindex(s, t);
System.out.println(index);
}
public static int strrindex(String s, String t) {
int i, j, k;
int len1 = s.length();
int len2 = t.length();
if (len2 > len1) {
return -1;
}
for (i = len1 - len2; i >= 0; i--) {
for (j = i, k = 0; k < len2 && s.charAt(j) == t.charAt(k); j++, k++);
if (k == len2) {
return i;
}
}
return -1;
}
}
```
这个程序会首先从控制台读入两个字符串s和t,然后调用函数strrindex(s,t)计算t在s中最右边出现的位置,最后将位置输出到控制台。
阅读全文