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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 枫儿 金牌黑马   /  2013-10-10 15:17  /  1603 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 枫儿 于 2013-10-10 15:38 编辑

为什么都提示找不到函数?是代码哪的问题?
  1. class rec
  2. {
  3.         String name;
  4.         String age;
  5. }

  6. class Input implements Runnable
  7. {
  8.         private rec r;
  9.         Input(rec r)
  10.         {
  11.                 this.r=r;
  12.         }
  13.         public void run()
  14.         {
  15.         int x=0;
  16.         while (true)
  17.         {
  18.                 synchronized(r)
  19.                 {
  20.                 if(x==0)
  21.                 {
  22.                 r.name="make";
  23.                 r.age="Man";
  24.                 }
  25.                 else
  26.                 {
  27.                 r.name="扣扣";
  28.                 r.age="女女女";
  29.                 }
  30.                 x=(x+1)%2;
  31.                
  32.                 }
  33.         }
  34.         }
  35. }

  36. class out implements Runnable
  37. {
  38.         private rec r;
  39.         out(rec r)
  40.         {
  41.         this.r=r;
  42.         }

  43.         public void run()
  44.         {
  45.                 while (true)
  46.                 {
  47.                         synchronized(r)
  48.                         {
  49.                                 System.out.println(r.name+"...."+r.age);
  50.                         }
  51.                 }
  52.         }
  53. }

  54. class dxctx
  55. {
  56.         public static void main(String[] args)
  57.         {
  58.         rec r=new rec();

  59.         Input in=new Input();
  60.         out o=new out();
  61.         Thread t1=new Thread(r);
  62.         Thread t2=new Thread(r);
  63.         t1.start();
  64.         t2.start();
  65.         }
  66. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
To + 1 神马都是浮云

查看全部评分

3 个回复

正序浏览
To 金牌黑马 2013-10-10 15:28:10
板凳
楼主你好,如果问题已解决请及时将帖子状态修改为提问结束,如果未解决请继续提问,谢谢合作
回复 使用道具 举报
main方法内的代码参数传错了。改后如下:
  1. class dxctx {
  2.         public static void main(String[] args) {
  3.                 rec r = new rec();

  4.                 Input in = new Input(r);
  5.                 out o = new out(r);
  6.                 Thread t1 = new Thread(in);
  7.                 Thread t2 = new Thread(o);
  8.                 t1.start();
  9.                 t2.start();
  10.         }
  11. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
To + 1 神马都是浮云

查看全部评分

回复 使用道具 举报
  1.         Input in=new Input();
复制代码
改成Input(r);
  1.      Input(rec r)
  2.         {
  3.                 this.r=r;
  4.         }
复制代码
因为你的构造函数需要一个参数,out的也一样

评分

参与人数 1技术分 +1 收起 理由
To + 1 神马都是浮云

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马