【求助】大家帮手看一下这个for+for的问题,解决不了
aide吧
全部回复
仅看楼主
level 1
Tades4 楼主
我想实现的结果是:有2个数组name与namen,输入一个内容,分别从name与name中循环查找匹配的内容,先循环a,没找到时循环b,都没找到时输出“找不到”
public void search(){//按姓名查找
boolean f=true;
System.out.print("请输入您需要查找的姓名:");
String khsch=input.next();
System.out.println("\n\n请稍候,正在为您寻找中...\n\n");
for(int d=0;d<name.length;d++){
if(name[d].equalsIgnoreCase(khsch)){
System.out.println("您查找的用户是:"+name[d]+"\t他花费的金额是:"+buy[d]+"元");
System.out.println("\n\n正在返回...\n");
break;
}
}
for(int e=0;e<=addjs;e++){
//查找新客户
if(namen[e].equalsIgnoreCase(khsch)){
System.out.println("您查找的用户是:"+namen[e]+"\t他花费的金额是:"+buyn[e]+"元");
System.out.println("\n\n正在返回...\n");
khxxgl();
}
if(f){
f=false;
}
System.out.println("ERROR!!没查找到你需要的姓名,正在返回...");
}
System.out.println("ERROR!!没查找到你需要的姓名,正在返回...");
}
实现的结果是,如果没第二个的循环是一切正常的,如果加上了一个for的话,没找到时就出错了
求问题,多个for
for(){
if(){
}}
for(){
if(){
}}
当2个for循环完都没满足if的内容时,的那个else应该怎么表达?
2017年04月01日 09点04分 1
level 1
Tades4 楼主
[滑稽] 来人来人~
2017年04月01日 09点04分 2
level 14
没看懂
2017年04月01日 09点04分 3
[勉强] 就是一个字符串在2个数组中配对,如果都没找到时,那个“没找到的回答”应该放在哪里才不会出错?
2017年04月01日 23点04分
level 9
楼主推荐JAVA入门到放弃
2017年04月01日 10点04分 4
level 12
我教你[阴险]
数组 name;
数组 namen;
创建一个list把两个数组分别写入list里面
for(String names:name){
里面逻辑问题就留给你自己了
}
2017年04月01日 16点04分 6
噢噢,原来用list,不过如果回到我最初的问题,2个for循环叠加,都没达到里面的 if 条件时,那句“没找到”的响应,放在哪里程序才不会出错?
2017年04月01日 23点04分
@Tades4 用我给你写那个第一个if用来判断数据用else判断数据判断没有写这个没你那么麻烦的
2017年04月02日 04点04分
@Tades4 你自己写业务代码的时候要把思路和逻辑想好在写,你这样写代码繁琐又处理速度慢
2017年04月02日 04点04分
@断疟💤 [勉强] 呵呵,抱歉,我还是新手,才学了java10多天
2017年04月02日 23点04分
level 11
请表达清楚
2017年04月01日 23点04分 7
就是多个for按次序循环(a循环结束后->b循环)之后,写最终响应结果应该放在哪里才不会代码出错?就例如我的“按名称在2个数组中查找客户名”,当2个数组中都没有我要找的名称时,那句“没找到”应该放在哪里输入?(当然,组成一个list也是种方法,但我想知道for+for循环后的结果输出方法)
2017年04月03日 01点04分
@Tades4 额,你逻辑有问题
2017年04月03日 05点04分
@Tades4 代码发我
2017年04月03日 06点04分
level 14
这样?代码我没试过
2017年04月02日 02点04分 8
[勉强] 你这个,是动态数组?我还没学到这里,不过我马上试试效果,另外,for for else 难道就一定会程序出错?如果遇到需要这种情况时要怎么办?
2017年04月02日 23点04分
对了,你这里的for(String s:a){}中的S,是Scan的意思吗?
2017年04月02日 23点04分
[勉强]或许,你第一句if中的C与S是不是掉过来了,S不是Scan,是下标的一个代号,相当于a[i]中的i
2017年04月03日 00点04分
[汗] 一样,最后那个2个数组都没找到时的响应,会出错
2017年04月03日 00点04分
level 14
没问题啊,不知道你说的报错是什么
2017年04月03日 04点04分 9
[勉强] 是的,你这种不固定循环次数的方法是正解的,我因为限制了,还限制错了,所以报错了
2017年04月03日 06点04分
不过,你这种配对方法,不能找到下标吧
2017年04月03日 06点04分
@Tades4
2017年04月03日 06点04分
level 1
Tades4 楼主
[冷] 好吧,好吧,问题解决了,各位请原谅我这个愚蠢的家伙,我把循环的次数弄错了,数组长度是10,有内容的是2,所以我把循环设置为<=2了,造成了数据益出,所以一直在报错,
正确的
应该是<2,因为下标是从零开始的,我这个白痴
另外,数组内容为空,如果循环到也会报错
2017年04月03日 06点04分 10
level 9
弄个单独方法[滑稽]第一个如果找到了用retrun 结束一切
没找到机会继续执行下一个for
2017年04月03日 14点04分 11
[滑稽]没找到的话抛一个异常更好哦
2017年04月04日 03点04分
@千秋事佐闲茶🍁 谁说的[滑稽],异常有什么用?返回个默认不可以啊[你懂的]
2017年04月04日 06点04分
1