Java如何将值从一个类传递到另一个类

时间:2013-06-13 10:14:01

标签: java

我希望将value变量的结果传递给另一个类。我也不应该将计算的返回类型从void更改为String

public class One {

  private String value = null;
   public void compute(){
       Scanner s = new Scanner(System.in);
       System.out.println("Enter the String");
       value = s.next();

   }
   public String calculate(){

       System.out.println("In Calculate.........."+value);
       return value;
   }
   public static void main(String[] args){
       One o = new One();
       o.compute();
       o.calculate();
   }    
}

public class Two {
    public static void main(String[] args){
      System.out.println(new One().calculate());

    }
}

返回空值

这样打印

In Calculate..........null
null

4 个答案:

答案 0 :(得分:3)

确保在调用calculate之前调用compute。 这应该可以解决问题:

public class Two {
    public static void main(String[] args){
      One one = new One();
      one.compute();
      System.out.println(one.calculate());

    }
}

答案 1 :(得分:2)

这将始终返回null,因为您没有在两个

中调用one.Compute()

正确的通话应该是

public class Two {
    public static void main(String[] args){
          One o = new One();
          o.compute();

         System.out.println(o.calculate());

    }
}

you need to modify code of One to call compute in the constructor 

答案 2 :(得分:1)

首先,单个项目中不允许使用两种主要方法!!

接下来,您没有为变量value分配任何值,您希望它如何为您打印? 您需要执行以下操作。

public class Two {
    public static void main(String[] args){
      One myOne = new One();
       myOne.compute();
      //enter some value and then print
      System.out.println(new One().calculate());

    }

最后value是一个实例变量,并自动分配默认值(String为null)。所以不需要明确分配。

答案 3 :(得分:1)

这可能会对您有所帮助:

public class two
{
     public static void main(String[] args){
          One one=new One();
          one.compute();
          System.out.println(one.calculate());
    }
}