3000sama
2015-12-18 10:34
String[] books={"高数","论语"};//创建了一个数组保存字符串;
Scanner input=new Scanner(System.in);
String stringc=input.next();//定义字符串类型的输入
//通过遍历比较
for(i=0;i<books.length;i++){
if(stringc==books[i]){
System.out.println("book:"+stringc);
exsit=1;
}
}
if(exsit==0){
System.out.println("图书不存在!");
}
这里的比较myeclipce里没办法用.equals 可以这么用么,但是实际跑起来的时候输入高数或者论语都提示图书不存在
我擦,代码里面错误不少啊
谢谢大家= =,这个是完整代码:某一次的作业,租书界面
package library;
import java.util.InputMismatchException;
import java.util.Scanner;
import java.util.Arrays;
public class Borrow {
public static void main(String[] args) {
// TODO Auto-generated method stub
String[] books={"高数","论语"};
//Borrow borrow=new Borrow();
Arrays.toString(books);
boolean flag=true;
while(flag){
try{
System.out.println("输入命令:1-按照书名查找图书;2-按照序号查找图书");
Scanner input=new Scanner(System.in);
int numc=input.nextInt();
//String stringc=input.next();
if(numc==1){
System.out.println("输入图书名称:\n");
int exsit=0;
int i=0;
String stringc=input.next();
for(i=0;i<books.length;i++){
if(stringc.equals(books[i])){
System.out.println("book:"+stringc);
exsit=1;
}
}
if(exsit==0){
System.out.println("图书不存在!");
}
}else if(numc==2){
System.out.println("输入图书序号:\n");
int xuhao=input.nextInt();
if(xuhao>0&&xuhao<3){
System.out.println("book:"+books[xuhao-1]);
}else{
System.out.println("命令输入错误!请根据提示输入数字命令");
}
}
}catch(InputMismatchException e){
System.out.println("命令输入错误!请根据提示输入数字命令");
}
}
}
}
卧槽。。这Myeclips简直有毒。。。我昨天跑了无数遍的equal都提示无法创建
当然会不存在啦,==判断的是内存地址是否一样,equals才是比较字符串的内容是否相同,myeclipce应该是可以用equals的啊,是不是写的位置不对
只能用equals 你这里用的==比的是地址 达不到你要的效果 应该是别的地方有问题
当然可以用equals,而且必须用equals,你把myeclipse不给你用的提示发出来,是不是()没有对应
Java入门第三季
409792 学习 · 4340 问题
相似问题
回答 1
回答 3