黑马程序员技术交流社区

标题: 用If判断private,错在哪? [打印本页]

作者: 高鑫    时间: 2012-4-28 23:42
标题: 用If判断private,错在哪?
  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. }
复制代码
哪里错了
作者: 褚代江    时间: 2012-4-28 23:53
你的if语句后面应该是{}你写的是(),换过了就没问题了。我试了的
作者: 亚男    时间: 2012-4-29 00:00
if-else语句,格式为:
if(调节)
  {}
else
  {}
如果if下或else下只有一条语句是不必加花括号的
作者: 根号5    时间: 2012-4-29 00:24
你这个代码其实是两个地方有问题: 我运行的代码如下
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);

        }
}





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