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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 孙朋帅 黑马帝   /  2011-7-19 13:54  /  2527 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

看张老师视频,JAVA高级视频02_IO输入与输出的最后作业第五题。 有些疑问、、、
题目如下:
5.编写下面的程序,分析观察运行结果。[code=java]import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.nio.charset.Charset;

public class InputReader{

        /**
         * @param args
         * @throws IOException
         */
        public static void main(String[] args) throws IOException {
                // TODO Auto-generated method stub

                InputStreamReader isr = new InputStreamReader(System.in,"iso8859-1");

                BufferedReader br=new BufferedReader(isr);
                String strLine=bReader.readLine();
                for(int i=0;i<strLine.length();i++){
                        System.out.println(Integer.toHexString((int)strLine.charAt(i)));
                }
                isr.close();
                System.out.println(strLine);
        }

}[/code]输入中国时,将会出现乱码,修改代码让程序打印正确的中文字符。
1.修改
InputStreamReader isr = new InputStreamReader(System.in,"iso8859-1");
2.不修改上面的语句,而是修改下面的语句
System.out.println(strLine);

我是这样解答的:1.InputStreamReader isr = new InputStreamReader(System.in);
              2.System.out.println(new String(strLine.getBytes("iso8859-1")));
用我的解答直接在cmd中运行,结果都是正确的,但是为什么放到eclipse下运行,结果就都不正确了呢?仍然是输出乱码》》》》
[ 本帖最后由 sps457 于 2011-07-19  13:56 编辑 ]

3 个回复

倒序浏览
黑马网友  发表于 2011-7-19 13:57:06
沙发
可能是eclipse自己的问题吧,经常在项目中遇到eclipse抽抽·· 害的调试半天
回复 使用道具 举报
黑马网友  发表于 2011-7-19 14:01:58
藤椅

回复 沙发 的帖子

貌似涉及源码的编码,还有字节码编码。
汉字输入编码,输出编码,控制台编码 。
绕来绕去就晕了........
回复 使用道具 举报
黑马网友  发表于 2011-7-19 14:02:18
板凳
:D   看下eclipse 项目的编码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马