为什么中文输入名字的时候,只要不先打个回车,输完中文之后回车,显示的不仅是中文,还有英文,谢谢大家了,非常想知道

来源:1-9 经验总结

jiguojing

2015-06-10 20:58

http://img.mukewang.com/557834380001bad509600540.jpg

这是什么问题,明明输入的是‘’中文‘’,但是显示的是英语加中文

public void name_find() {

String book_in;        //这里是书的名字,也就是存中文的地方

int signal=0;

System.out.println("请输入书的名字");

while(true){

try{                                               //这里就是抛出异常

signal=0;

book_in=input.next();

System.out.println(book_in);

for(int i=0;i<4;i++){                                    //这里是书的名字与我的book数组里面的名字遍历对比,看是否一样

if(book[i].name.equals(book_in)){

signal=1;

break;

}

}

if(signal==1) break;

else {

  System.out.println("没有这本书,请重新输入名称");

  continue;

}

}catch(Exception e){

System.out.println("没有这本书,请重新输入");

input=new Scanner(System.in,"GBK");

continue;

}

}

}


写回答 关注

4回答

  • chavin
    2015-06-11 21:45:24

    我看着没有问题啊,我也试过了,你看我的输入和输出

    请输入书的名字

    中文

    中文

    没有这本书,请重新输入名称


    _神人A 回复尘中尘27

    我好像可以了,你要把光标弄到最下面才会输出中文,搞了一个晚上,还以为是我eclipse的问题

    2015-10-15 23:28:37

    共 4 条回复 >

  • jiguojing
    2015-06-11 08:56:41

    public void name_find() {

    String book_in;

    int signal=0;

    System.out.println("请输入书的名字");

    while(true){

    try{

    signal=0;

    book_in=input.next();

    System.out.println(book_in);

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

    if(book[i].name.equals(book_in)){

    signal=1;

    break;

    }

    }

    if(signal==1) break;

    else {

      System.out.println("没有这本书,请重新输入名称");

      continue;

    }

    }catch(Exception e){

    System.out.println("没有这本书,请重新输入");

    input=new Scanner(System.in,"GBK");

    continue;

    }

    }

    }


  • chavin
    2015-06-10 23:00:05

    估计是你的代码写的不对,上代码看看

    共 1 条回复 >

  • Dege
    2015-06-10 22:57:12

    你能发一下代码么... 

    共 1 条回复 >

Java入门第三季

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

409784 学习 · 4340 问题

查看课程

相似问题