2015-07-03 24 views
-1

当我打印单独处理的输出时,我得到符号enter image description here。我感兴趣的代码:Java在打印单独处理输出时显示奇数符号

in=(char)is.read(); 
     System.out.println((char)in); 
     while (in != -1) { 
      outputs[0]=outputs[0]+(char)in; 
      in=(char)is.read(); 
      System.out.println((char)in); 
     } 
    } catch (IOException ex) { 
     ex.printStackTrace(); 
    } 

任何想法为什么我的程序打印此错误?如果我不将输出转换成char表格,我得到这个:65535,这不是一个ASCII符号。

感谢

+0

请注明您的变量的声明,所以我们可以知道它们的类型。 –

回答

0

InputStream.read()的Javadoc(假设这是的is的类型,你不说):

值字节返回一个int范围为0至255 。如果由于流的末尾已到达而没有可用字节,则返回值-1。

既然你继续铸造inchar,我要去猜inint;分配charint意味着你实际上写in = (int) (char) is.read()(int) (char) -1也是65535