当前位置: 代码迷 >> Java相关 >> [求助]帮看哪里出问题??
  详细解决方案

[求助]帮看哪里出问题??

热度:45   发布时间:2005-05-31 11:55:00.0
[求助]帮看哪里出问题??

请编写aplication,它由两个类定义组成:类A中定义了int型变量i和float型变量x,及一个带两个参数的构造函数(为变量i和x做初始化)。主类B中创建了一个A类的对象a(i的初始值2,x的初始值8.0),还定义了一个方法b,b的参数和返回值均为A类的对象,功能为将参数对象的属性i加1,属性x加2。在主类B中调用b(a)后的结果。

class A { static int i; static float x; public A(int i,float x) { this.i=i; this.x=x; } } class B { static A a=new A(2,8.0f); public static A b(A a) { a.i+=1; a.x+=2.0; return a; } public static void main(String[] args) { System.out.println(b(a)); } }

搜索更多相关的解决方案: public  

----------------解决方案--------------------------------------------------------
A里的两个变量i,X没有必要定义为static。其他似乎没错
----------------解决方案--------------------------------------------------------
System.out.println(b(a));
这句是不是有错.因为输出的值不对...
----------------解决方案--------------------------------------------------------
都TMD能输出怎么会有错?你说的逻辑错误那我就不知道了,天知道你要的逻辑是什么,我只是说语法错误。上面的句子应该输出a所指向的内存地址。类似ae345f之类的
----------------解决方案--------------------------------------------------------
正确的程序应该如下:
class A
{
   static int i;
   static float x;
   public  A(int i,float x)
        {
           this.i=i;
           this.x=x;
        }//A
}//class A
class B
{  
   static A a=new A(2,8.0f);
   public static A b(A a)
        {
           a.i+=1;
           a.x+=2.0;
           return a;
        }
public static void main(String[] args){
       System.out.println("i="+b(a).i+"  "+"x="+b(a).x);
     }//main
}//class B
----------------解决方案--------------------------------------------------------
  相关解决方案