文字列内の部分文字列を検索しています。区切り文字もあります。これはJavaです

僕が料理した

文字列を含むテキストファイルがあります。私の問題は、特定の文字列を検索する方法がわからないことです。私が検索しているように見えるのは特定の文字だけです。コードを再帰的にする必要があります。

import java.io.FileNotFoundException;
import java.io.FileReader;
import java.util.Scanner;
import java.util.Stack;


public class LangValidator {
    private static final char delimeter    = '$';
    public static boolean isValidString(String s) {
        //Hint: use a stack of characters:
        Stack<Character> stack = new Stack<Character>();
        int i = 0;
        char c;
        while (i < s.length()) {
            c = s.charAt(i);
            if (c == delimeter)
                break;
            stack.push(c);
            i++;
        }
        i++;
        while (i < s.length()) {
            c = s.charAt(i);
            if (stack.isEmpty())        return false;
            if (stack.pop() != c)       return false;
            i++;
        }
        return stack.isEmpty();
    }

//これは私がエラーを抱えている部分です。特定の文字を検索できますが、文字列を試すと、文字定数しか追加できないというエラーが発生します。

public static boolean isValidStringRec(String s) {
        if (s == null) return false;
        char[] ch = s.toCharArray();
        for (char c : ch) if (c != '$' && c != 'b') return true;
        if(s == "$$$") return false;
        return false;


    }



    public static void main(String[] args) throws FileNotFoundException {
        Scanner fin = new Scanner(new FileReader("input.txt"));
        while (fin.hasNext()) {
            String str = fin.nextLine();
            System.out.println(str);
            System.out.println(isValidStringRec(str));
            System.out.println();
        }
    }



}

更新:これは入力ファイルです:

$
$$$
a$a
abab$abab
ab$ba$ab$ba
aba$abaa
bbbaaa$aaabbb
aabb$bba
aba$aba
user9190555

さて、私たちの会話に基づいて、文字列が回文であるかどうかを見つけるための回復的な方法があります。

public static boolean isValidStringRec(String s) {
    if(s == null)
        return false;
    if(s.length() <= 1)
        return true;
    if(s.charAt(0) == s.charAt(s.length()-1))
        return isValidStringRec(s.substring(1, s.length()-1));
    return false;
}

指定された文字列の最初と最後の文字が同じであるかどうかをチェックし、同じである場合は、文字列の残りの部分が回文であるかどうかをテストします(部分文字列は最初のパラメーターに含まれ、2番目のパラメーターに含まれます)。

特定の文字列の最初と最後の文字が同じでない場合、その文字列は回文ではないため、falseを返します。

trueを返す唯一の方法は、文字列の長さが1または0の場合です。元の文字列の長さが奇数の場合、つまり、文字列の前のペアがすべて同じである場合は1になります。また、回文(レースカーなど)も同様です。元の文字列が偶数の長さで、前の文字列のペアがすべて同じ(アンナなど)の場合、長さは0です。

回文で大文字と小文字を区別する必要がない場合、この方法は機能しないことに注意してください。必要な場合は、修正するか、質問して編集します。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

区切り文字を使用して、長さnの可能なすべての部分文字列を検索します

分類Dev

Javaで文字列内のすべての部分文字列を検索します

分類Dev

javascriptregex-区切り文字で囲まれた部分文字列を検索します

分類Dev

区切り文字のエスケープされた形式を含む部分文字列を検索します(Regexp)

分類Dev

c ++は文字列内で繰り返される部分文字列を検索します

分類Dev

改行(\ n)記号を含む文字列内の部分文字列を検索する方法はありますか?

分類Dev

{{で始まり}で終わる文字列内のすべての部分文字列を検索する方法

分類Dev

他の文字列の部分文字列ではない文字列を検索して置換します

分類Dev

区切られたファイル内の文字列を検索し、Linuxで次の区切り文字に到達するまで文字列を出力します

分類Dev

正規表現文字列には、特定の部分文字列のみが含まれ、空白で区切られている必要があります

分類Dev

部分文字列の区切り文字に基づいて文字列を分割し、結果に区切り文字を保持します

分類Dev

SQLのすべての部分文字列が含まれている場合は、文字列を検索します

分類Dev

アイテム内の部分文字列でリストを分割し、区切り文字を保持します

分類Dev

NSString内の部分文字列のすべての場所を検索します(最初だけではありません)

分類Dev

部分文字列を検索し、区切り文字に基づいて分割する正規表現

分類Dev

GNUawkまたはawkを使用して区切り文字の後に部分文字列を抽出します

分類Dev

部分文字列を使用して、SQLステートメントで3つの文字列を区切ります

分類Dev

reg matchは、区切り文字 '/'を使用して文字列informaticaを検索します

分類Dev

Bashを使用して文字列内の部分文字列を検索しますか?

分類Dev

「DONOTCAREFLAG」を使用して文字列内の部分文字列を検索します

分類Dev

Pythonは、部分文字列を使用して文字列内の文字列を検索します

分類Dev

gsubとgreplを拡張して、指定された区切り文字間の部分文字列を無視します

分類Dev

文字列の先頭から2番目の区切り文字まで部分文字列を抽出するにはどうすればよいですか?

分類Dev

Flexは文字まで部分文字列を検索します

分類Dev

C-区切り文字が繰り返されている文字列を2つの部分文字列に分割します

分類Dev

Javascript:部分文字列から配列内の最も関連性の高い文字列を検索します

分類Dev

文字列内の部分文字列で値を検索しますか?

分類Dev

Postgresqlのカンマ区切り値で部分文字列を抽出します

分類Dev

整数による部分文字列の繰り返しによって形成される文字列内の文字を効率的に検索します

Related 関連記事

  1. 1

    区切り文字を使用して、長さnの可能なすべての部分文字列を検索します

  2. 2

    Javaで文字列内のすべての部分文字列を検索します

  3. 3

    javascriptregex-区切り文字で囲まれた部分文字列を検索します

  4. 4

    区切り文字のエスケープされた形式を含む部分文字列を検索します(Regexp)

  5. 5

    c ++は文字列内で繰り返される部分文字列を検索します

  6. 6

    改行(\ n)記号を含む文字列内の部分文字列を検索する方法はありますか?

  7. 7

    {{で始まり}で終わる文字列内のすべての部分文字列を検索する方法

  8. 8

    他の文字列の部分文字列ではない文字列を検索して置換します

  9. 9

    区切られたファイル内の文字列を検索し、Linuxで次の区切り文字に到達するまで文字列を出力します

  10. 10

    正規表現文字列には、特定の部分文字列のみが含まれ、空白で区切られている必要があります

  11. 11

    部分文字列の区切り文字に基づいて文字列を分割し、結果に区切り文字を保持します

  12. 12

    SQLのすべての部分文字列が含まれている場合は、文字列を検索します

  13. 13

    アイテム内の部分文字列でリストを分割し、区切り文字を保持します

  14. 14

    NSString内の部分文字列のすべての場所を検索します(最初だけではありません)

  15. 15

    部分文字列を検索し、区切り文字に基づいて分割する正規表現

  16. 16

    GNUawkまたはawkを使用して区切り文字の後に部分文字列を抽出します

  17. 17

    部分文字列を使用して、SQLステートメントで3つの文字列を区切ります

  18. 18

    reg matchは、区切り文字 '/'を使用して文字列informaticaを検索します

  19. 19

    Bashを使用して文字列内の部分文字列を検索しますか?

  20. 20

    「DONOTCAREFLAG」を使用して文字列内の部分文字列を検索します

  21. 21

    Pythonは、部分文字列を使用して文字列内の文字列を検索します

  22. 22

    gsubとgreplを拡張して、指定された区切り文字間の部分文字列を無視します

  23. 23

    文字列の先頭から2番目の区切り文字まで部分文字列を抽出するにはどうすればよいですか?

  24. 24

    Flexは文字まで部分文字列を検索します

  25. 25

    C-区切り文字が繰り返されている文字列を2つの部分文字列に分割します

  26. 26

    Javascript:部分文字列から配列内の最も関連性の高い文字列を検索します

  27. 27

    文字列内の部分文字列で値を検索しますか?

  28. 28

    Postgresqlのカンマ区切り値で部分文字列を抽出します

  29. 29

    整数による部分文字列の繰り返しによって形成される文字列内の文字を効率的に検索します

ホットタグ

アーカイブ