System.out.println("请输入会员号码");
String targetid=g.readLine();

for ( int x = 0 ; x< count ; x++)
if (targetid.equals(nirc[x]))
{
System.out.println("Member ID  " +id[x]);
System.out.println("Member Name " + name[x]);
System.out.println("Member NIRC " + nirc[x]);
System.out.println("Member Age " +age[x]);
System.out.println("Member Gender " +gender[x]);
System.out.println("Member Address" +address[x]);
System.out.println("Member Contact No " +contact[x]);
System.out.println("Member Class " +type[x]);
System.out.println("Member Recommended By " +rec[x]);

else
 
{
System.out.println("没有此会员,请从新输入"); 
}我想要的结果是循环回去上面从新输入,但是我这个会一直显示
("没有此会员,请从新输入")
("没有此会员,请从新输入") 
("没有此会员,请从新输入") 
("没有此会员,请从新输入") 
("没有此会员,请从新输入")
我想另外加入一个case,就是如果输入找不到后,按2退回目录,请好心人给点思路。感谢

解决方案 »

  1.   

    我测试了 while , 也使用了 do while, 也用了 if(targetid!=equals(nirc[x]))
    if(targetid!=equals(nirc[x])) <=这句我也不知道对不对
    对不起,我是初学者,但是我真的很努力的去找了,google也查询了
    我知道java必须理解,而不是死背,但是我烦了这个好几天了,(原谅我差劲)
    也去图书馆找本书查询,可是就是不知道我问题出现在哪里请问能给点思路吗,真的对不起,感谢你的忠告。
    我休息了2天也解决不到,可能我太笨了,因为早上7点要上班,逼不得已。
      

  2.   

    楼主这样试试看行不行哈        写一个接收输入内容的方法:
                  public String systemIn(){
                        System.out.println("请输入会员号码"); 
                      // 这个后面的内容楼主应该知道怎么写的,函数的返回就是读入的内容
                }
           写一个对输入内容进行判断的方法:
                        //参数a就是输入函数的返回的内容,也就是输入内容
                  public void checkContent(String a){
                     if (targetid.equals(nirc[x])) { 
                        System.out.println("Member ID  " +id[x]); 
                        System.out.println("Member Name " + name[x]); 
                        System.out.println("Member NIRC " + nirc[x]); 
                        System.out.println("Member Age " +age[x]); 
                        System.out.println("Member Gender " +gender[x]); 
                        System.out.println("Member Address" +address[x]); 
                        System.out.println("Member Contact No " +contact[x]); 
                        System.out.println("Member Class " +type[x]); 
                        System.out.println("Member Recommended By " +rec[x]); 
                        } else{ 
                           System.out.println("没有此会员,请从新输入"); 
                        } 
                 }          //再写一个调度的函数
                 public void manager(){
                      String str = null;
                    while(true){
                        str = systemIn();
                        if("exit".equals(str)) break;   //当用户输入exit的时候,就退出
                        checkContent(str);
                    }
               }
    然后在需要的地方调用一下就可以了,楼主试下看行不行
      

  3.   

    targetid.equals(nirc[x]) 这句话改成targetid.contains(nirc[x])试一试就应该解决了
      

  4.   

    targetid.equals(nirc[x])  ---》 nirc[x].contains(targetid)
    用这个就应该解决你的问题了
      

  5.   

    顺便说一下,楼主可以将会员抽象为一个类,然后像什么ID、Name等等都是里面的属性,也就是上面说的用面向对象的方法去做
    这样更符合java的本质,因为大家都知道java就是面向对象的,如果还采用面向过程的方式那就体现不出java的优势了PS:楼主不要太过急躁,静下心来慢慢做,我也有楼主这个阶段。上网找资料、找人问
        别人说的最多的就是什么要API、要怎么怎么,呵呵,其实对我们新手来说最怕的是急躁,只要静下心来,慢慢做
        就会发现很多问题慢慢就解决了。Thinking in java以及java核心技术(卷一、卷二)这三本书都很不错,我正
        在看,楼主也可以去看看的。
      

  6.   


    System.out.println("请输入会员号码");
    boolean flag=true;
    boolean isHas=false;
    while(flag)
    {
    String targetid=g.readLine(); 
    for ( int x = 0 ; x < count ; x++)

    if (targetid.equals(nirc[x])) 

    System.out.println("Member ID  " +id[x]); 
    System.out.println("Member Name " + name[x]); 
    System.out.println("Member NIRC " + nirc[x]); 
    System.out.println("Member Age " +age[x]); 
    System.out.println("Member Gender " +gender[x]); 
    System.out.println("Member Address" +address[x]); 
    System.out.println("Member Contact No " +contact[x]); 
    System.out.println("Member Class " +type[x]); 
    System.out.println("Member Recommended By " +rec[x]);
    isHas=true;
    flag=false;
     } 
    }
    if(!isHas)

    System.out.println("没有此会员,请从新输入"); 
    }
    }
      

  7.   

    上面的意思是通过两个标识位来进行判断,首先肯定是一个循环,因为这样才容易让它重新输入。
    一旦存在的话,就停止循环。
    isHas=true;
    flag=false;
    flag来停止while循环。isHas用来阻止输出"没有此会员,请从新输入"
    当然最好在isHas=true; flag=false;将g资源释放掉。
      

  8.   

    感谢大家的帮忙
    今天去上课回来后
    我学习了比较简单的,我使用了 found=0;
    结果做到了
    大家给的提示我都会一步步的去测试,真的很抱歉,我还在学习中,不是很会,谢谢大家的帮忙