簡體   English   中英

使用字符串indexOf java

[英]using string indexOf java

我正在做一個程序,我需要返回第一次出現的MyString的索引。 idk在這種情況下如何使用indexof。 我認為可能是ch = indexof [],但我不確定。 我在這方面仍然很新,並且api對我沒有太大幫助

/*********************************************************************************
     This program will create classes that do similar operations to the Java String

     Javier Perez
     csc110
     11/5/12
    *********************************************************************************/
    package string.assignment;
    public class MyString
    {

        private char[] array;
        private int size;
        private int max;

        public MyString()
        {
            array = new char[25];
            max = 25;
        }
        public void setString(String newString)
        {
         if(newString.length() > 25)
         {
             System.out.println("/nEnter a number equal or less than 25 " );

         }
         else
         {
          for(int i=0; i < newString.length(); i++)
          {
            array[i] = newString.charAt(i);
          }
         }
        }


        public String toString()
        {
            return new String(array);
        }

        public char charAt(int index)
        {
            return array[index];
        }

        public boolean contains(char ch)
        {
            for(char c: array)
            {
                if(c == ch) return true;
            }
            return false;
        }
        public int indexOf( char ch )
        {
            ch = ch.indexOf();

        }
        return index; 


    }

為了從數組中獲取某個字符的索引,您必須迭代該數組,並將每個字符與要檢查的字符進行比較。 如果有任何字符匹配,請立即返回索引。

另外,您的最后一個return語句應該在您的方法內部,否則您的代碼將無法編譯。

因此,最簡單的indexOf方法將如下所示:-

public int indexOf( char ch ) {
    for (int i = 0; i < array.length; i++) {
        if (array[i] == ch) {
            return i;   // Character found, return current index
        }
    }
    return -1;    // Character not found. Return -1
}

迭代字符數組,將所需字符與數組索引處的字符匹配。 如果找到匹配項,則沒有將index變量的位置(默認值為-1中斷循環。 從方法返回index值。

     public int indexOf( char ch ){
        int index = -1;
        for(int i=0; i < array.length; i++){
         if(array[i] == ch){
             index = i;//first match found, stop searching
             break;
         }
       }
       return index; 
     }

這樣,它將返回字符串的字符數組中字符的第一個匹配位置 ,否則返回-1

如果確實可以編譯,則您的剪切和粘貼效果很差-最后的return index在做什么?

無論如何-我不是用自己的charAt而不僅僅是使用char比較。

    public int indexOf( char ch )
    {
        int result = -1;
        for(int i = 0; i <  size; i++) {
            if (charAt(i) == ch) {
                result = i;
                break;
            }
        }
        return result;

    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM