Java 需要输出第一个数组中的某个地方是否包含第二个数组 公共布尔包含(int[]a,int[]b){ int w=0; 对于(inti=0;i
试试这个Java 需要输出第一个数组中的某个地方是否包含第二个数组 公共布尔包含(int[]a,int[]b){ int w=0; 对于(inti=0;i,java,if-statement,for-loop,Java,If Statement,For Loop,试试这个 public boolean contains(int[] a,int[] b) { int w=0; for(int i=0;i<a.length && w<b.length;i++) { if(a[i]==b[w]) w++; else w=0; } System.out.println(w); if(w==b.length) return true; else return false; 生活 代码中的问题 p
public boolean contains(int[] a,int[] b) {
int w=0;
for(int i=0;i<a.length && w<b.length;i++) {
if(a[i]==b[w])
w++;
else w=0;
}
System.out.println(w);
if(w==b.length) return true;
else return false;
生活
代码中的问题
public static boolean contains(int[] a,int[] b) {
String s1= Arrays.toString(a).replaceAll("\\[|\\]","");
String s2= Arrays.toString(b).replaceAll("\\[|\\]","");
if(s1.contains(s2)){
return true;
} else {
return false;
}
}
用于(int i=0;iHint:您需要两个for循环。我有点不确定您正在尝试做什么;您是否正在尝试这样做,以便查看1个数组中的所有元素是否都存在于另一个数组中?您需要描述您正在尝试做什么,您尝试完成了什么,以及您研究和尝试的可能解决方案。这样做将有助于m让你的问题更具体,你就更有可能得到更好的帮助。你的任务是在字符串@JoshM中查找子字符串的经典算法是的,那就是:查看字符串b是否是字符串a的子字符串。为什么不执行返回Arrays.asList(a).contains(Arrays.asList(b))
?@JoshM不适用于这里。@JoshM:我试过了,但由于匿名原因失败了。你能解释一下为什么失败吗?@Ruchira:为什么这个解决方案是失败的。你之前流露出信心,认为它不起作用。你能证实为什么吗?@BharathBallamudi现在检查我的答案。你可以看到为什么你的代码不起作用了工作
for(int i=0;i<a.length && w<b.length;i++) {//a={1, 2, 1, 2, 3},b= {1, 2, 3}
if(a[i]==b[w])// first two element are same in both arrays
w++;// then w=2, but a[2] !=b[2].
else w=0;// So w=0, but in next round it will check
//equality as a[3]==b[0] that's false.
}