java - 将字符与 Java 中字符串数组中的元素进行比较

标签 java

public static int getDigit(char character, char letters[]  )
{
    int digit=0;
    for (int i=0;i<=0;i++);
    {
        for (int j=0; j<(letters[i].length());j++)
        {
            if (letters[i][j]==character)
            {
               digit=i; 
            }
        }    
    }
    return digit;
}

where array is LETTERS={("abc"),("def"),("ghi"),("jkl"), ("mno)"),("pqrs"),("tuv"),("wxyz")}; and character could be any alphabet.

我希望程序找到输入的字符并显示该字符在字符串中的位置。例如-如果用户输入字母“g”,那么它应该显示数字 3,因为它位于数组的第三个元素中。

最佳答案

这是您想要的一个有效实现。我假设您的 letters 数组旨在成为 2D 锯齿状字符数组。您的原始代码实际上只有一些小问题,主要是在循环逻辑中。

public static int getDigit(char character, char letters[][]) {
    int digit = -1; // return -1 if character not found

    for (int i=0;i < letters.length; i++) {
        for (int j=0; j < letters[i].length; j++) {
            if (letters[i][j] == character) {
                digit = i;
                i = letters.length;
                break;
            }
        }    
    }

    return digit;
}

public static void main(String args[]) {
    char[][] letters = new char[][] {
        { 'a', 'b', 'c' },
        { 'd', 'e', 'f' },
        { 'g', 'h', 'i' },
        { 'j', 'k', 'l' },
        { 'm', 'n', 'o' },
        { 'p', 'q', 'r', 's' },
        { 't', 'u', 'v' },
        { 'w', 'x', 'y', 'z' }};
    System.out.println(getDigit('d', letters) );
}

Demo

关于java - 将字符与 Java 中字符串数组中的元素进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48070996/

相关文章:

java - 自定义插件不记录

java - 我使用 google 登录与 firebase 进行身份验证,现在我想显示当前用户保存的数据,但它不起作用

java - jackson 制作 cookie

java - JVM 的任何编译器都使用 "wide"goto 吗?

java - 如何将嵌套数组的 json 字段转换为 Java 实体?

java - 一个类只有 5 个实例

java - 无效的赋值运算符 加、减、除、乘符号错误

java - 如何在Java中的匹配中获取名为捕获组的正则表达式的名称?

java - 需要将exe文件转换成JAR文件

java - 组织 Spring 3 Web 应用程序及其组件的理想方式是什么?