黑马程序员技术交流社区

标题: 多线程通信输出结果问题 [打印本页]

作者: 松涛小玮    时间: 2014-2-2 10:45
标题: 多线程通信输出结果问题
class Res
{
String name;
String sex;
}
class Input implements Runnable
{
private Res r;
Input(Res r){
  this.r=r;
}
public void run(){
  int x=0;
  while (true)
  {
   if (x==0)
   {
    r.name="mike";
    r.sex="man";
   }
   else
   {
    r.name="丽丽";
    r.sex="女女女女女女女女女";
   }
   x = (x+1)%2;
  }
}
}
class Output implements Runnable
{
private Res r;
Output(Res r){
  this.r=r;
}
public void run(){
  while (true)
  {
   System.out.println(r.name+",,,,"+r.sex);
  }
}
}
class InputOutputDemo3
{
public static void main (String [] args){
  Res r = new Res();
  Input in = new Input(r);
  Output out = new Output(r);
  Thread t1 = new Thread(in);
  Thread t2 = new Thread(out);
  t1.start();
  t2.start();
}
}

实在搞不懂  怎么还出现这种 代码  是不是编码的问题
---------- java ----------
丽丽,,,,man
丽丽,,,,女女女女女女女女女
mike,,,,ŮŮŮŮŮŮŮŮŮ
mike,,,,ŮŮŮŮŮŮŮŮŮ
丽丽,,,,man
丽丽,,,,女女女女女女女女女
mike,,,,man
丽丽,,,,女女女女女女女女女
mike,,,,ŮŮŮŮŮŮŮŮŮ
mike,,,,ŮŮŮŮŮŮŮŮŮ
mike,,,,ŮŮŮŮŮŮŮŮŮ


作者: e.c    时间: 2014-2-4 14:34
肯定是字符编码问题。
作者: 2424308    时间: 2014-2-9 22:08
你是怎么在程序运行中让GBK编码突然变成UTF-8编码,
而且还能在两种编码之间切换,怎么做到的?
作者: 透过生活    时间: 2014-2-11 17:51
IO 流中 有关于字符编码的转换。比如说:
OutputStream out = new OutputStream(new FileWriter("GBK.txt"),"GBK");
InputStream in = new InputStream(new FileReader("UTF-8.txt"),"BUF-8");
作者: Amorvos    时间: 2014-2-18 19:00
本帖最后由 Amorvos 于 2014-2-18 21:17 编辑

你调一下编码吧
作者: 徐芾清    时间: 2014-2-19 20:11
不出现这种现象才奇怪呢




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2