将数字转换为二进制并在java中以二进制数计数连续1的[关闭]
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将数字转换为二进制并在java中以二进制数计数连续1的[关闭]相关的知识,希望对你有一定的参考价值。
我在下面写了代码,用于显示连续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);
}
}
答案
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);
}
}
它适用于上述修改
以上是关于将数字转换为二进制并在java中以二进制数计数连续1的[关闭]的主要内容,如果未能解决你的问题,请参考以下文章
在页面js 中,怎么将中文字符串转换成2个字节长度16进制数;并在js 环境下解码16进