用java编写一函数strend(s, t),如果字符串t出现在字符串s的尾部,该函数返回1,否则返回0。要求在main函数中测试该函数:先从键盘输入字符串s、t(不超过100个字符),然后调用该函数,并输出返回的结果。
时间: 2024-02-13 15:00:41 浏览: 64
javascript函数库
3星 · 编辑精心推荐
好的,这是Java中实现该函数的代码:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入字符串s:");
String s = scanner.nextLine();
System.out.print("请输入字符串t:");
String t = scanner.nextLine();
int result = strend(s, t);
if (result == 1) {
System.out.println("字符串t出现在字符串s的尾部");
} else {
System.out.println("字符串t未出现在字符串s的尾部");
}
}
public static int strend(String s, String t) {
int sLen = s.length();
int tLen = t.length();
if (sLen < tLen) {
return 0;
}
String endStr = s.substring(sLen - tLen);
if (endStr.equals(t)) {
return 1;
} else {
return 0;
}
}
}
```
在该程序中,我们通过 `Scanner` 类从键盘获取输入的字符串 `s` 和 `t`,然后调用 `strend()` 函数进行判断,并输出结果。函数 `strend()` 首先计算字符串 `s` 和 `t` 的长度,如果 `s` 的长度小于 `t` 的长度,那么 `t` 不可能是 `s` 的子串,直接返回0。接着,我们通过 `substring()` 方法截取字符串 `s` 的尾部与 `t` 相同长度的子串,然后判断该子串是否与 `t` 相等,如果相等,说明 `t` 出现在 `s` 的尾部,返回1,否则返回0。
阅读全文