传入三个数组,
a={"football","basketball","volleyball"};
b={"adi","rabk","ghy","|","nike","|","adi","rty"};
c={"","","","","",""};根据a数组元素查找"football",如果在a[0]处找到,就把b数组里第1个"|"前的第一个元素打印c数组长度次。即打印6次System.out.println("adi");
同理,如果在a[1]处找到"football",就把b数组里第2个"|"前的第一个元素打印c数组长度次。即打印6次System.out.println("nike");其实我已经写了一个,但是现在总是不好定位到要打印的那个元素。程序后部分有问题的,请各位帮忙指点一下哦先谢了
static void testGenerator(String[] a,String[] b,String[] c) { int count = 0,k = 0,end = 0; for(int i=0;i<a.length;i++) { if("ata".equals(a[i])) { count = i; break; } } for(int j=0;j<b.length;j++) { if("CC".equals(b[j])) { k++; if(k == count) { end = k+1; break; } } } for(int n=0;n<c.length;n++) { System.out.println(b[end]); } }
a={"football","basketball","volleyball"};
b={"adi","rabk","ghy","|","nike","|","adi","rty"};
c={"","","","","",""};根据a数组元素查找"football",如果在a[0]处找到,就把b数组里第1个"|"前的第一个元素打印c数组长度次。即打印6次System.out.println("adi");
同理,如果在a[1]处找到"football",就把b数组里第2个"|"前的第一个元素打印c数组长度次。即打印6次System.out.println("nike");其实我已经写了一个,但是现在总是不好定位到要打印的那个元素。程序后部分有问题的,请各位帮忙指点一下哦先谢了
static void testGenerator(String[] a,String[] b,String[] c) { int count = 0,k = 0,end = 0; for(int i=0;i<a.length;i++) { if("ata".equals(a[i])) { count = i; break; } } for(int j=0;j<b.length;j++) { if("CC".equals(b[j])) { k++; if(k == count) { end = k+1; break; } } } for(int n=0;n<c.length;n++) { System.out.println(b[end]); } }
public void getReturn(String[] a,String[] b,String[] c) {
String str = "football";
int times = c.length;
int index = 2;
for (int i = 0; i < a.length; i++) {
if (a[i].equals("football"))
index = i;
}
printStr(getFirStr(index,b),times);
} public String getFirStr(int index,String[] b) {
String str = null;
if (index == 0) {
str = b[0];
} else if (index == 1) {
for (int i = 0; i < b.length; i++) {
if (b[i].equals("|")) {
str = b[i + 1];
break;
}
}
}
return str; }
public void printStr(String str,int times){
for(int i=0;i<times;i++){
System.out.println(str);
}
}
a={"football","basketball","volleyball"};
那么b={"ds","fr","|","fde","|","wew","vfr","bgt","|"};
同理如果a有5元素,b中也会出现5次 "|",所以如果a中第四个出现"football",我们需要把b中第四个"|"前的第一个元素打印c数组长度次。
public class TestSearch {
static void testGenerator(String[] a,String[] b,String[] c) { int count = -1,k = 0,end = -1; //好像count初值为-1,end初值为-1 for(int i=0;i <a.length;i++) { if("volleyball".equals(a[i])) { count = i; break; }
} if(count==-1){//好像要检查一下
System.out.println("数组a中找不到。");return;
}
if(count==0)
{
end=0;
}
else{
for(int j=0;j <b.length;j++) { if("|".equals(b[j])) //在b中找"|" { k++; if(k == count) { end = j+1; //应该是j+1吧 break; } } }//for
}//if
for(int n=0;n <c.length;n++) { System.out.println(b[end]); } }
/**
* @param args
*/
public static void main(String[] args) {
// TODO 自动生成方法存根
testGenerator(new String[]{"football","basketball","volleyball"},
new String[]{"ds","fr","|","fde","|","wew","vfr","bgt","|"},
new String[]{"","","","","",""} );
}}
wew
wew
wew
wew
wew
wew
if(k == count)
{ end = j+1;
break;
}
应该是《j+1》,多谢3楼和5楼的热心帮助:)