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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 nerveva2000 于 2014-10-30 00:20 编辑

这个我错在哪里了?
为什么直接跳过键盘录入那行代码
就往下走了,哪位大神知道,急啊。。。。。

  1. import java.io.*;
  2. class Test7
  3. {
  4.         public static void main(String[] args)
  5.         {
  6.                 BufferedReader bufr = null;
  7.                 try
  8.                 {
  9.                         System.out.println("请键入一串字符,我们帮你将字母大小写反转");
  10.                         System.out.println("1");
  11.                         bufr= new BufferedReader(new InputStreamReader(System.in));
  12.                         System.out.println("2");
  13.                         String line=null;
  14.                         System.out.println(line);
  15.                         while ((line=bufr.readLine())!=null);
  16.                         {
  17.                                 System.out.println(line);
  18.                                 trans(line);
  19.                         }        
  20.                 }
  21.                 catch (IOException e)
  22.                 {
  23.                         throw new RuntimeException("转换出现异常");
  24.                 }
  25.         }
  26.         public static void trans(String str)
  27.         {               
  28.                 //将接收到的字符串变成字符数组
  29.                 char[] chs = str.toCharArray();
  30.                 //一次读取每个字符,然后判断大小写,并大写变小写,小写变大写
  31.                 for (int x = 0; x < chs.length; x++)
  32.                 {
  33.                         //如果字符为小写字母,则转为大写字母
  34.                         if(Character.isLowerCase(chs[x]))
  35.                                 chs[x]=Character.toUpperCase(chs[x]);
  36.                         //如果字符为大写字母,则转为小写字母         
  37.                         else if(Character.isUpperCase(chs[x]))
  38.                                 chs[x]=Character.toLowerCase(chs[x]);               
  39.                 }
  40.                 String str2 = new String(chs);
  41.                 System.out.println(str2);
  42.         }   
  43. }
复制代码




3 个回复

倒序浏览
你那个并不是跳出,而是因为前面有一句:
System.out.println(line);  输出为null。
其次你的循环控制语句后面多了一个分号,导致一直在循环。
while ((line=bufr.readLine())!=null);

评分

参与人数 1黑马币 +2 收起 理由
nerveva2000 + 2 赞一个!今天眼神不给力,两个人都没找到,.

查看全部评分

回复 使用道具 举报 1 0
你那个并不是跳出,而是因为前面有一句:
System.out.println(line);  输出为null。
其次你的循环控制语句后面多了一个分号,导致一直在循环。
while ((line=bufr.readLine())!=null);
回复 使用道具 举报
既然有人解答了,我就路过一下:lol
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马