如代码所示,for循环那步怎么修改?

来源:1-9 经验总结

wsawsdl

2018-02-26 20:48

package test3;

import java.util.*;


public class Mooc4 {

Scanner sc=new Scanner(System.in);

String[] bookName={"高数","数据结构","haha"};

int l=bookName.length;

//通过实例化来实现test2()

public static void main(String[] args) {

Mooc4 m=new Mooc4();

m.test2();


}

//定义一个test1方法用来输入管理系统

public void test1(){

//通过while来实现无限循环

while(true){

System.out.println("输入命令:1-按照名称查找图书;2-按照序号查找图书");

//定义bookNum来选择不同的方式查找图书

int bookNum=sc.nextInt();

//按照名称查找图书

if(bookNum==1){

System.out.println("输入图书名称:");

String n1=sc.next();

//通过for循环来控制数组的输出

/*

* 这一步因为要遍历数组,所以每次都要打印"图书不存在",应该怎么修改

*/

for(int i=0;i<l;i++){

String book=bookName[i];

//比较输入字符串和图书名字

if(n1.equals(book)){

book=bookName[i];

System.out.println("book:"+book);

}else{

System.out.println("图书不存在!");

}


}

  

}

//按照序列查找图书

if(bookNum==2){

System.out.println("输入图书序号:");

int n2=sc.nextInt();

if(n2>=l){

System.out.println("图书不存在!");

}else{

System.out.println("book:"+bookName[n2]);

break;

}

}

}


}

//通过test2()调用test1()来获取异常

public void test2(){

try{

test1();

}catch(InputMismatchException e){

System.out.println("命令输入有误!请根据提示输入数字命令!");

}catch(Exception e){

e.printStackTrace();

}

}


}


写回答 关注

2回答

  • 787888
    2018-05-06 21:19:52

    for(i=0;i<l;i++){

    String book=bookName[i];

    //比较输入字符串和图书名字

    if(n1.equals(book)){

    book=bookName[i];

    System.out.println("book:"+book);break;

    }}

    if(!n1.equals(bookName[i])){

    System.out.println("图书不存在!");

    }



  • soulweimate
    2018-02-26 21:53:12

    加一个标志变量boolean flag=flase,遍历时候,如果存在所选图书,置为true.根据最终的flag 判断输出

Java入门第三季

Java中你必须懂得常用技能,不容错过的精彩,快来加入吧

409792 学习 · 4340 问题

查看课程

相似问题