为了账号安全,请及时绑定邮箱和手机立即绑定

汉字书名的问题

你们从控制台获取的汉字 跟 书名的数组中的汉字比较相同 是怎么比较的,用汉字书名 总是出错

正在回答

6 回答

System.out.println("请输入图书名称:");
String name = new Scanner(System.in).nextLine().toString();
String[] books = {"xiyouji" , "hongloumeng" , "zhuxian" , "guichuideng"};
boolean isFind = false;
for (String bookName : books) {
    if (bookName.equals(name)) {
        System.out.println("book:" + name);
        isFind = true;
        break;
    }
}
if (!isFind) {
    throw new Exception();
}

http://img1.sycdn.imooc.com//58631f480001a8ca01580078.jpg

0 回复 有任何疑惑可以回复我~
#1

Adam静栖 提问者

非常感谢!
2016-12-28 回复 有任何疑惑可以回复我~
public void kindChoice (int num) throws NameNoMatchException{
		switch (num) {
		case 1:
			System.out.println("请输入图书名称:");
			String name = (String)new Scanner(System.in).nextLine().toString();
			try {
				nameChoice(name);
			} catch (NameNoMatchException e) {
				System.out.println("输入的图书名字不存在");
				//回滚操作
				orderChoice();	
			}
			break;
		case 2:
			System.out.println("请输入图书序号:");
			int bookNum = new Scanner(System.in).nextInt();
			try {
				numChoice(bookNum);
			} catch (NameNoMatchException e) {
				System.out.println("输入的图书序号不存在");
				orderChoice();
			}
			break;
		default:
			throw new NameNoMatchException("命令输入错误,请根据提示重新输入");
		}
	}

重新截了一下kindChoice方法 这样好看点

0 回复 有任何疑惑可以回复我~
public void nameChoice(String name) throws NameNoMatchException {
		
		String[] books = {"xiyouji" , "hongloumeng" , "zhuxian" , "guichuideng"};
		boolean isFind = false;
		for (String bookName : books) {
			if (bookName.equals(name)) {
				System.out.println("book:" + name);
				isFind = true;
				break;
			}
		}
		if (!isFind) {
			throw new NameNoMatchException();
		}
	}

public void kindChoice (int num) throws NameNoMatchException{

switch (num) {

case 1:

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

String name = (String)new Scanner(System.in).nextLine().toString();

try {

nameChoice(name);

} catch (NameNoMatchException e) {

System.out.println("输入的图书名字不存在");

//回滚操作

orderChoice();

}

break;

case 2:

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

int bookNum = new Scanner(System.in).nextInt();

try {

numChoice(bookNum);

} catch (NameNoMatchException e) {

System.out.println("输入的图书序号不存在");

orderChoice();

}

break;

default:

throw new NameNoMatchException("命令输入错误,请根据提示重新输入");

}

}

在kindChoice方法中获取的控制台输入 汉字比较总是出错

0 回复 有任何疑惑可以回复我~

代码贴出来吧~

0 回复 有任何疑惑可以回复我~
#1

Adam静栖 提问者

我吧代码贴出来了 你看下是哪里有问题
2016-12-27 回复 有任何疑惑可以回复我~

这样试了还是不行 书名是从控制台通过scanner获取的

0 回复 有任何疑惑可以回复我~

for(int i=0;i<arr.length;i++){

    str.equals(arr[i]);

}


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

汉字书名的问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信