A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 戎石锁 中级黑马   /  2012-8-21 11:58  /  1726 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

import java.io.*;
public class TestTransForm2 {
  public static void main(String args[]) {
    InputStreamReader isr =
            new InputStreamReader(System.in);
    BufferedReader br = new BufferedReader(isr);
    String s = null;
    try {
      s = br.readLine();
      while(s!=null){
        if(s.equalsIgnoreCase("exit")) break;
        System.out.println(s.toUpperCase());
        s = br.readLine();
      }
      br.close();
    } catch (IOException e) {
      e.printStackTrace();
    }
  }
}
看了视频突然在if判断那里卡住了,一直没能缓过来。希望懂的给点指点...谢谢

4 个回复

倒序浏览
就是相当于给程序一个关闭的方法,当你输入为“exit”时候,就跳出循环了。相当于你玩累了想休息就敲个exit,没有累就继续测试你的程序。。。
回复 使用道具 举报
if(s.equalsIgnoreCase("exit")) break; //楼主只要细心的观察以及查询API文档,这个问题非常容易可以理解,equalsIgnoreCase()这个方法是String的方法,
//这个方法的作用是:将此 String 与另一个 String 比较,不考虑大小写。在这里的意思是:当用户输入"exit"时,就退出循环!

        System.out.println(s.toUpperCase());
        s = br.readLine();
回复 使用道具 举报
本人都加注释了,楼主可以参考下
  1. import java.io.*;
  2. public class Hello_a {
  3.   public static void main(String args[]) {
  4.     InputStreamReader isr = new InputStreamReader(System.in);//创建一个输入流
  5.     BufferedReader br = new BufferedReader(isr);//读取输入流
  6.     String s = null;
  7.     try {
  8.       s = br.readLine();//读取一行
  9.       while(s!=null){
  10.         if(s.equalsIgnoreCase("exit")) break;//如果读取的输入流文字(忽略大小写)为exit,就停止运行程序
  11.         System.out.println(s.toUpperCase());//把读取进来的转换成大写打印,
  12.         s = br.readLine();//如果不是exit,可继续读取控制台
  13.       }
  14.       br.close();//关闭读取
  15.     } catch (IOException e) {
  16.       e.printStackTrace();
  17.     }
  18.   }
  19. }
复制代码
回复 使用道具 举报
   while(s!=null){
        if(s.equalsIgnoreCase("exit")) break;
        System.out.println(s.toUpperCase());
        s = br.readLine();
      }
给  while循环一个break退出的方法,而不至于无限循环,也就是程序停止不了,必须强行退出
而这个break的条件是,输入的字符串是忽略大小写的exit
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马