java问题。关于for循环里的判断输出问题~

/*录入班级学员的人数,然后循环给学员的名字赋值。之后,输入一个名字,查找该学员是否在此班级中。*/importjava.util.Scanner;publicclass... /*
录入班级学员的人数,然后循环给学员的名字赋值。
之后,输入一个名字,查找该学员是否在此班级中。
*/
import java.util.Scanner;
public class lianxi{
public static void main(String[] args){
Scanner s = new Scanner(System.in);
System.out.print("学员人数:");
int q = s.nextInt();
String[] a = new String[q];
System.out.println("请录入学员姓名:");
for(int i=0;i<q;i++){
a[i] = s.next();
}
System.out.print("请输入要查找的学员姓名:");
String b = s.next();
for(int i=0;i<q;i++){
b.equals(a[i]);
if(b.equals(a[i])){
System.out.print("该学员在此班是第"+(i+1)+"为学生!");
break;
}else{
System.out.print("没有找到!");
}
}
}
}

如图:我输入除第一个姓名外所有姓名都会输出没有找到。求解答。希望不要改变我的做题思路。
原因我知道,就是不知道怎么解~最有一句没有找到应该放在哪里?
展开
 我来答
云战天涯8
2015-03-28 · 超过77用户采纳过TA的回答
知道小有建树答主
回答量:157
采纳率:0%
帮助的人:125万
展开全部
import java.util.Scanner;
public class lianxi{
public static void main(String[] args){
int j=0;//加入标记符 
Scanner s = new Scanner(System.in);
System.out.print("学员人数:");
int q = s.nextInt();
String[] a = new String[q];
System.out.println("请录入学员姓名:");
for(int i=0;i<q;i++){
a[i] = s.next();
}
System.out.print("请输入要查找的学员姓名:");
String b = s.next();
for(int i=0;i<q;i++){
b.equals(a[i]);
if(b.equals(a[i])){
j=i+1;//找到修改标记为i+1
    break;
   }  
}
if(j!=0){//判断标记是否为0,为0没找到该学生
System.out.print("该学员在此班是第"+j+"为学生!");

else 
{
System.out.print("没有找到!");
}
}
}
追问
没有找到后面还需要加一个break;不然会多次输出。
谢谢了。老师教过,自己没吸收~
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式