-2

バイナリ値(101101)を含む文字列があります。ここで、最後の文字が1であるかどうかを確認し、1である場合は0に変更します。どうやってやるの ?

4

5 に答える 5

6
String result = "101101".substring(0,5) + "0";

なぜチェックするのですか?前に1または0であったかどうかに関係なく、最後の文字は常に0になります...

于 2012-08-15T12:18:18.690 に答える
3

あなたは書ける

int i = 0b101101;
if (i & 1 != 0)
   i = i & ~1;

またははるかに簡単

i &= ~1; // sets lowest bit to 0.
于 2012-08-15T12:17:47.543 に答える
3

シンプルバージョン;

String binary = "101101";

binary = binary.substring(0, binary.length() - 1) + "0";

ここの例。

于 2012-08-15T12:19:02.820 に答える
1

考えられる解決策の1つ:

    String k = "101101";

    System.out.println(k);

    int len = k.length();
    char[] charr = k.toCharArray();
    if(charr[len - 1] == '1') {
        charr[len - 1] = '0';
    }
    k = new String(charr);

    System.out.println(k);
于 2012-08-15T12:16:46.217 に答える
1
int binary = 0b101101;

if ( binary % 2 != 0 )
{
    binary = binary ^ 1b;
}
于 2012-08-15T12:16:47.403 に答える