为什么java强制转换成byte类型不起作用

Paranoidyang 2017-03-31 08:22:46
package chap09;
import java.io.IOException;

public class StdInput
{

public static void main(String[] args) throws IOException
{
System.out.println("intput:");
byte b[] = new byte[512];
int count = System.in.read(b);
System.out.println("Output");
for (int i=0;i<count;i++)
{
System.out.print(b[i] + " ");
}
System.out.println();
for (int i=0;i<count;i++)
{
System.out.print((byte)b[i] + " ");//为何这里的byte不起作用?我键盘输入的是abcd,书上的结果这里是abcd,然而我这里输出的却是数字,如下图所示
}
System.out.println("count=" + count);
}

}
下面是输出结果:
...全文
348 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhuang582980797 2017-04-05
  • 打赏
  • 举报
回复
i<count 就相当于 i<a(i<97) , i<b(i<98) i<c(i<99)......
小灰狼 2017-04-05
  • 打赏
  • 举报
回复
引用 1 楼 huhk 的回复:
你书上印错了,byte里放的就是数字呀。 System.out.print((char)b[i] + " ");
+1
引用 3 楼 sparrow00004 的回复:
一楼正解,你书是盗版的,烧了下面条吧。。。
+1 现在的编程书不能和中小学教材比,那书好多人盯着,我们基本上不可能找得出一丁点错
mayiaihuangluo 2017-04-01
  • 打赏
  • 举报
回复
byte是字节,abcd的码值对应就是979899.。。。。。可能是码表问题?
码上行动_Light 2017-04-01
  • 打赏
  • 举报
回复
一楼正解,你书是盗版的,烧了下面条吧。。。
huhk 2017-03-31
  • 打赏
  • 举报
回复
你书上印错了,byte里放的就是数字呀。 System.out.print((char)b[i] + " ");

62,628

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧