Java 不使用lastIndexOf()打印字符串的最后一个索引

Java 不使用lastIndexOf()打印字符串的最后一个索引,java,lastindexof,Java,Lastindexof,下午好, 我想写一个方法,它可以到达(询问)两个字符串,并检查String2是否在String1的情况下。如果s2在s1中,则返回 String2的最后一次出现,否则返回-1。使用lastIndexOf()方法很容易,但我不希望这样。实际上,如果我们不使用方便的字符串方法(charAt和length除外),情况会好得多 下面是我到目前为止的代码(这是一个非常糟糕的代码): int包含(){ Scanner scan0=新的扫描仪(System.in); System.out.println(“输

下午好, 我想写一个方法,它可以到达(询问)两个字符串,并检查String2是否在String1的情况下。如果s2在s1中,则返回 String2的最后一次出现,否则返回-1。使用lastIndexOf()方法很容易,但我不希望这样。实际上,如果我们不使用方便的字符串方法(charAt和length除外),情况会好得多

下面是我到目前为止的代码(这是一个非常糟糕的代码):

int包含(){
Scanner scan0=新的扫描仪(System.in);
System.out.println(“输入firts字符串:”);
字符串s1=scan0.nextLine();
System.out.println(“输入第二个字符串:”);
字符串s2=scan0.nextLine();

对于(int i=0;i您不检查
s1
中的
s2
字符的出现情况。您需要通过
char
检查
s1
char
,并检查该
char
和下面的一次是否匹配
s2
。意思是如果您有
字符串
h
s1
以第一个
char=M
和下一个2为例,这样你就有了3个字符,就像在
s2
中一样。然后你有
Mis
the
,因为它们不匹配,你必须转到下一个字符,然后是
iss
,依此类推,直到你有了匹配的字符串。一旦你可以返回s1中字符串的第一个字符的索引。

为什么你不想使用Java的内置方法来实现这一点,我的意思是没有人有时间为你做研究,我更新了代码。
int contains() {
    Scanner scan0 = new Scanner(System.in);
        System.out.println("Enter firts string: ");
    String s1 = scan0.nextLine();
        System.out.println("Enter second string: ");
    String s2 = scan0.nextLine();

    for(int i = 0; i<s1.length(); i++) {
        for(int t = 0; t<s2.length(); t++) {
            char desiredChar = s2.charAt(t);
            char letter = s1.charAt(i);
            if(desiredChar == letter)
                System.out.print(s2.charAt(i));
        }

    }
    return 0;
}