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

输入一个字符串,如何比较是否和数组中的某个字符串相等?

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   可以这么用么,但是实际跑起来的时候输入高数或者论语都提示图书不存在

正在回答

6 回答

我擦,代码里面错误不少啊

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

谢谢大家= =,这个是完整代码:某一次的作业,租书界面


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("命令输入错误!请根据提示输入数字命令");

}

}

}

}

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

卧槽。。这Myeclips简直有毒。。。我昨天跑了无数遍的equal都提示无法创建

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

当然会不存在啦,==判断的是内存地址是否一样,equals才是比较字符串的内容是否相同,myeclipce应该是可以用equals的啊,是不是写的位置不对

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

只能用equals  你这里用的==比的是地址 达不到你要的效果  应该是别的地方有问题

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

当然可以用equals,而且必须用equals,你把myeclipse不给你用的提示发出来,是不是()没有对应

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

举报

0/150
提交
取消

输入一个字符串,如何比较是否和数组中的某个字符串相等?

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