当我输入以 m 字母结尾的单词时,我编写的静音程序不起作用

mute program that I code is not working when I enter a word which ends with m letter

当用户输入并排包含“m”、“a”、“l”字母时,程序必须静音。但是当我输入一个以“m”结尾的单词时,程序不起作用。我留下了一些关于代码的图片。

import java.util.Scanner;

public class mute 
{
    public static void main(String[] args) 
    {
        Scanner scan = new Scanner(System.in);
        String enteredmessage;

        System.out.print("Enter the message:");
        enteredmessage = scan.nextLine();

        char[] array = enteredmessage.toCharArray();
        mutecommand(array);
        
        scan.close();
    }
    public static void mutecommand(char[] dizi) {
        for (int i = 0; i < dizi.length; i++) {
            if(dizi[i] == 'm' && dizi[i+1] == 'a' && dizi[i+2]=='l')
            {
                dizi[i]='*';
                dizi[i+1]='*';
                dizi[i+2]='*';
            }
        }

        for (char a : dizi) {
            System.out.print(a);
        }
    }
}

[https://i.stack.imgur.com/tHOFw.png] [https://i.stack.imgur.com/UP32b.png]

这是因为你正在遍历数组,如果你在最后一项执行 i + 2,那么它就在数组之外