qq_老表_1
2016-03-06 01:27
因为篇幅问题我就只把执行相关的部分贴出来:
static String tushu[]={"论语","高数","数据结构","单片机应用","JAVA入门"}; //这部分是数组的代码
case "1":
System.out.println("输入图书名称:");
String name=s.nextLine();
name=name.trim();
System.out.println(tushu[0]);
for(int i=0;i<tushu.length;i++){
if(tushu[i]==name){
System.out.println("book:"+name);
break;
}//这不部分是选择图书名称匹配的代码 就是这里判断不出来。输出什么都试过了,就是进不了这个循环
if(i==(tushu.length-1)){
throw new NullPointerException("图书不存在");
}
}
break;
字符串对比 需要用到equals if(tushu[i]==name)你这句改成 if(tushu[i].equals(name))
说错了,是那个if判断进不去
package 模拟借书系统;
import java.util.Scanner;
public class BorrowBooks {
static String tushu[]={"论语","高数","数据结构","单片机应用","JAVA入门"};
public static void main(String[] age){
boolean cc=true;
while(cc){
try {
System.out.println("输入命令:1-按照名称查找图书:2-按照标号查找图书");
Scanner s= new Scanner(System.in);
String a=s.nextLine();
switch (a) {
case "1":
System.out.println("输入图书名称:");
String name=s.nextLine();
name=name.trim();
System.out.println(tushu[0]);
for(int i=0;i<tushu.length;i++){
if(tushu[i]==name){//这个循环进不去
System.out.println("book:"+name);
break;
}
if(i==(tushu.length-1)){
throw new NullPointerException("图书不存在");
}
}
break;
case "2":
System.out.println("请输入图书编号:");
String text=s.nextLine();
int n=Integer.parseInt(text);
System.out.println("book:"+tushu[n-1]);
break;
default:
throw new typeException("输入命令错误,请按要求输入命令");
}
cc=false;
} catch (typeException e) {
// TODO 自动生成的 catch 块
System.out.println("输入命令错误,请按要求输入命令!");
}catch(NullPointerException e){
System.out.println("图书不存在!");
}catch(NumberFormatException e){
System.out.println("请按要求输入数字!");
}
}
}
}
class typeException extends Exception {
/**
*
*/
private static final long serialVersionUID = 1L;
public typeException(){};
public typeException(String a){
super(a);
}
}全部贴出来 大家看看哪里有问题啊
Java入门第三季
409776 学习 · 4546 问题
相似问题