如何检查字符串中的每个奇数索引是否具有相同的字母?

Hen*_*Dev 2 java

我正在研究这个程序,我需要验证字符串中的每个奇数索引是否都有字母"X".例如,如果我的字符串是:AXFXTX,那么我应该收到一条消息:"GOOD",如果不是,我应该收到一条消息:"BAD".任何人都可以告诉我我错过了什么.先谢谢你.

这是我的代码

import java.util.Random;
import java.util.Scanner;

public class Program {

public static void main(String[] args) {

    Random rand = new Random();
    Scanner scan = new Scanner(System.in);

    int min = 1;
    int max = 10;
    int randomNum = rand.nextInt((max - min) + 1) + min;

    System.out.println("Random number = " + randomNum);
    System.out.print("Enter a word of " + randomNum + " characters:");
    String myString = scan.nextLine();

    while(myString.length() != randomNum){
        System.out.print("Enter a word of " + randomNum + " characters:");
        myString = scan.nextLine();
    }

    char[] c  = myString.toCharArray();
    for(int i = 0 ; i < c.length ; i++){
        if(c[i] == 'X'){
            System.out.println("GOOD!");
        }
        else{
            System.out.println("BAD");
        }
    }       
 }
}
Run Code Online (Sandbox Code Playgroud)

Ell*_*sch 5

如果我理解你的问题,那么重要的是要注意第一个奇数索引是1.因此,您可以从3那里开始并检查是否与之相关的每个奇数(index += 2)都与第一个相同.就像是,

boolean sameLetter = true;
for (int index = 3; index < c.length && sameLetter; index += 2) {
    sameLetter = (c[1] == c[index]);
}
System.out.println(sameLetter ? "GOOD!" : "BAD");
Run Code Online (Sandbox Code Playgroud)