我的问题是:为什么在键盘输入a以后,然后就没什么反应
而将s转换成数字,例如当输入1时,就是对的
String s="";
try
{
BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
s=in.readLine();
//i=Integer.parseInt(s);如果转换成数字,并且运行if(i==1).......时正常
if(i=="a") System.out.println("好了");//在这里出错了
}catch(IOException e){}谢谢了......
而将s转换成数字,例如当输入1时,就是对的
String s="";
try
{
BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
s=in.readLine();
//i=Integer.parseInt(s);如果转换成数字,并且运行if(i==1).......时正常
if(i=="a") System.out.println("好了");//在这里出错了
}catch(IOException e){}谢谢了......
try catch是用来抛出异常用的 你若想把非数字类型的字符串转成数值类型的话 那么try里的程序就会停止并执行catch里的程序 后台就会抛出异常 提示你java.lang.NumberFormatException错误 也就是格式错误 程序就会终止 那么你在try语句块中的错误行下面的程序就不会继续执行 所以你看到什么都没有发生
可能是您的i类型不一样
您写的i=="a" 用于字符串比较是不正确的
==如果比较的是对象的话比较的是 对象引用的内存地址
if(i=="a") System.out.println("好了")
您把改成
if(i.equals("a")) System.out.println("好了");