我自己也做出来了,是可以运行的,但也希望大家能把它改得更好......
import
import
public class exe4 {
public static void main(String[] args) {
String str=null;
int j=0,i=0,count;
try{
BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
System.out.println("请输入一串二进制数:");
str=in.readLine();
}catch(Exception e){}
int a[]=new int[str.length()];
//定义数组array,存放每个连续数字的出现次数(数组的长度不能长于str.length())
while(i<str.length()){
//当i小于二进制串的长度,就进入循环
count=1;
//首先count应该为1
while(str.charAt(i)==str.charAt(i+1)){
//当两个数字相同时count加1
count++;
//
i=i+1;
if(i==str.length()-1)
break;
}
a[j]=count;
//数组array存放每个连续数字的出现次数
j++;
i++;
}
int max=a[0];
//先初始化 这个二进制串中连续的1或连续的0出现的最大次数为a[0]这个数值
for(int n=1;n<a.length;n++){
//判断这个二进制串中连续的1或连续的0出现的最大次数
if(a[n]>max){
max=a[n];
}
}
System.out.println("这个二进制串中连续的1或连续的0出现的最大次数为:"+max);
// 输出
}
}