-3

私は次のように求められました:boolean succeeds(char a, char b, String s)文字列 s を取り、文字 b のすべての出現が常に文字 a に続く場合は true を返し、そうでない場合は false を返す関数を作成します。

私はこれに出くわしました:

while (!s.equals("")) {
    char c = s.charAt(0);  // record first char
    s = s.substring(1);    // cut off first char


    // if "first char is 'b' and next is
    // not 'a'", we can return false
    if (c == b && (s.equals("") || s.charAt(0) != a))
        return false;                
}

return true;

私はそれについて頭を悩ませることはできませんか?とはs.equals""どういう意味ですか?

4

4 に答える 4

1

最初の出現:

sが空白でないかどうかをチェックしていますString

!演算子に関する情報はこちらで、「equals()」に関する情報はこちらでご覧いただけます

于 2013-08-31T13:55:41.803 に答える
0

Java では、引用符に何も含まれていない "" が表示される場合、そのオブジェクトの値が空であることを意味します。

そのため、プログラムは文字列に値 (文字) がある場合にのみ実行されます。

!= は等しくないことを意味します。! ないことを意味します。

これは、誰かが値を入力していないときに実行を停止します。

だからそれは言う

String S ins't の値が何もない場合、プログラムは実行されます。

于 2013-09-01T04:23:13.910 に答える
0
while (!s.equals("")) {

sこれは、 が空の文字列になるまで次のコードを繰り返すだけ""です。反復ごとに 1 文字が切り捨てられるため、文字がなくなるまで切り捨てられ続けます。

(s.equals("") || s.charAt(0) != a)

が空の文字列かs.equals("")どうかを確認するために使用されます。空の文字列の場合失敗するsため、これが必要です。s.charAt

演算子はショートサーキットです。||つまり、最初の式が真の場合、2 番目の式は評価されません。

于 2013-08-31T13:57:13.937 に答える