有一道JAVA 题不会,求大神指教该怎么做啊 ,急求!!

(模式识别方面,四个连续相等的数)编写下面的方法,测试某个数组中是否有四个连续的值相同的数字publicBooleanisConsecutiveFour(int[]val... (模式识别方面,四个连续相等的数)编写下面的方法,测试某个数组中是否有四个连续的值相同的数字
publicBoolean isConsecutiveFour(int[] values)
编写测试程序,提示用户输入一个整数数列,如果这个数列有四个连续的具有相同值的数,那就显示true,否则显示false。
展开
 我来答
leskrfell
2013-06-29
知道答主
回答量:14
采纳率:0%
帮助的人:11.9万
展开全部
代码如下……
参数跟返回值你可以自己添加咯!
Scanner qvod = new Scanner(System.in);
String s = qvod.next();
char[] c = new char[s.length()];
boolean b = false;

for (int i = 0; i < c.length; i++) {
c[i]=s.charAt(i);
}

for (int i = 0; i < c.length; i++) {
//防止数组越界操作
if (c.length>i+3) {
if (c[i]==c[i+1]&&c[i]==c[i+2]&&c[i]==c[i+3]) {
b=true;
}
}
}

if (b) {
System.out.println("TRUE");
} else {
System.out.println("FALSE");
}
-------------------------------------分割完结线--------------------------
Emads
2013-06-29 · 超过29用户采纳过TA的回答
知道答主
回答量:81
采纳率:0%
帮助的人:73.2万
展开全部
public static void main(String[] args) {
isConsecutiveFour(new int[]{5,2,3,5});//用户输入的数
}

public static Boolean isConsecutiveFour(int[] values){

int[] n=new int[]{5,2,3,5};///指定的数

if(n.length==values.length){

for(int i=0;i<values.length;i++){

if(n[i]!=values[i]){
System.out.println("false");
return false;
}

}
System.out.println("true");
return true;

}

return null;

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
叶落丰年
2013-06-29 · TA获得超过154个赞
知道小有建树答主
回答量:345
采纳率:0%
帮助的人:165万
展开全部

最粗暴的做法..用for循环

public boolean isConsecutiveFour(int[] values){
 boolean flag = false ;
 int i=0 ;
 int len = values.length ;
 while(!flag&&i<len-1){
 if(values[i]==values[i+1]){
 if((i+2<len)&&values[i+1]==values[i+2]){
 if((i+3<len)&&values[i+2]==values[i+3]){
 flag = true ;
 }
 }
 }
 i++ ;
 }
 return flag ;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式