-3

値変数の結果を別のクラスに渡したいです。また、compute の戻り値の型を 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());

    }
}

null値を返しています

このように印刷しています

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

4 に答える 4

1

これはあなたを助けるかもしれません:

public class two
{
     public static void main(String[] args){
          One one=new One();
          one.compute();
          System.out.println(one.calculate());
    }
}
于 2013-06-13T10:28:12.573 に答える
1

まず、1 つのプロジェクトで 2 つの主要なメソッドを使用することはできません!!

次に、変数に値を代入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はインスタンス変数で、デフォルト値 (文字列の場合は null) が自動的に割り当てられます。したがって、明示的に割り当てる必要はありません。

于 2013-06-13T10:20:54.887 に答える