私は、バイナリ文字列中の連続する最大数を見つけようとしています。2進数で最大連続数を見つけるにはどうすればいいですか?
入力:67
予想される出力:2
マイ出力:7
説明:バイナリでの67
は1000011
なので、出力は2でなければなりません。しかし、私のように7
を取得しています出力。誰かが間違いを指摘できますか?
ここでは、コードです:
public class Test{
static int getMax(int n)
{
String bin = Integer.toBinaryString(n);
char[] arr = bin.toCharArray();
int count = 0;
int result = 0;
for(int i=0; i < arr.length; i++)
{
if(arr[i]==0)
{
count = 0;
}
else
{
count++;
result=Math.max(result,count);
}
}
return result;
}
public static void main(String args[])
{
System.out.println(getMax(67));
}
}
デバッグを行う必要があります。 –
ようこそスタックオーバーフロー!デバッガの使い方を学ぶ必要があるようです。 [補完的なデバッグ手法](https://ericlippert.com/2014/03/05/how-to-debug-small-programs/)にご協力ください。その後も問題が残っている場合は、より具体的な質問に戻ってください。 –
私はこれをここに置いておきます: '0'と' '0''の違いは何ですか? –