我在下面写了代码,用于显示连续1的二进制数的计数,例如,如果输入是13 1101,那么count应该是2.
但是1911年的测试用例失败了
import java.util.Scanner;
/**
*
*/
/**
* @author jyotiv
*
*/
public class BinaryConversion {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int n=0,count=1;
String binaryNo="";
int sum=0;
Scanner scanner=new Scanner(System.in);
n=scanner.nextInt();
binaryNo=Integer.toBinaryString(n);
System.out.println(binaryNo);
char binaryArray[]=binaryNo.toCharArray();
for(int i=0;i<binaryArray.length-1;i++)
{
//System.out.print(binaryArray[i]);
if(binaryArray[i]==binaryArray[i+1])
{
count++;
}
}
System.out.println(count);
}
}
答案 0 :(得分:0)
import java.io.*;
import java.util.*;
/**
* @author jyotiv
*
*/
public class BinaryConversion{
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int n=0,countOne=0,maxCount = 0;
String binaryNo="";
int sum=0;
Scanner scanner=new Scanner(System.in);
n=scanner.nextInt();
binaryNo=Integer.toBinaryString(n);
System.out.println(binaryNo);
char binaryArray[]=binaryNo.toCharArray();
for(int i=0;i<binaryArray.length;i++)
{
//System.out.print(binaryArray[i]);
if(binaryArray[i]=='1')
{
countOne++;
//}
}
if(countOne>maxCount)
{
maxCount=countOne;
}
if(binaryArray[i]=='0')
{
countOne=0;
}
}
System.out.println(maxCount);
}
}
适用于上述修改