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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 高鑫 中级黑马   /  2012-4-28 23:42  /  1970 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. class Person
  2. {
  3.         private int age;
  4.         public void setAge(int a)
  5.         {        if((a>0)&(a<130))
  6.                 (age=a;speak();)
  7.                 else System.out.println("feifa age");
  8.         }
  9.         void speak()
  10.         {
  11.                 System.out.println("age="+age);
  12.         }       
  13. }
  14. class Demo
  15. {
  16.         public static void main(String[] args)
  17.         {
  18.                 Person c=new Person();
  19.             c.setAge( 20);
  20.                
  21.         }

  22. }
复制代码
哪里错了

3 个回复

倒序浏览
你的if语句后面应该是{}你写的是(),换过了就没问题了。我试了的
回复 使用道具 举报
if-else语句,格式为:
if(调节)
  {}
else
  {}
如果if下或else下只有一条语句是不必加花括号的
回复 使用道具 举报
你这个代码其实是两个地方有问题: 我运行的代码如下
package com.bosi;

class Person

{

        private int age;

        public void setAge(int a)

        {        //if((a>0)&(a<130)) 你这个地方写错了,括号中写成&了,这个是按位运算符,                                                                        //应该是逻辑与&&运算符,虽然你这个地方使用前者也可以得出正确结果                                if((a>0)&(a<130))

               // (age=a;speak();)   这个地方把()改为{},if下的代码是{}的                                {
                                        age=a;speak();
                                }

                else System.out.println("feifa age");

        }

        void speak()

        {

                System.out.println("age="+age);

        }        

}

public class test

{
        public static void main(String[] args)

        {
            Person c=new Person();

            c.setAge( 20);

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