2017-02-15 5 views
-5

私はちょうどJavaを学び始めて非常に悪いコードを書いています。私はかなりコードを書くための良い方法があると確信しています。 「nullnull」DrJavaで私はちょうどJavaの2つの文字列を連結したい

public class Hello { 

    public String a; 
    public String b; 
    public String c; 

    public Hello() { 
     c = ""; 
    } 

    public String helloWorld() { 
     return c; 
    } 

    public String hello() { 
     a = "Hello"; 
     return a; 
    } 

    public String world() { 
     b = "World"; 
     return b; 
    } 

    public void join() { 
     c = a + b; 
    } 
} 
+4

が見えています。フルコードを表示 –

+0

このコードでは出力が得られません。あなたが投稿していない 'main'がない限り、あなたはどんなメソッドも呼び出していません。 – khelwood

+0

'join()'は実際に値を設定した後に呼び出さなければなりません。 – vegaasen

答えて

1

次の順序でメソッドを呼び出す必要があります:このコードは私に出力を与え、なぜ誰も私を説明でき

  • こんにちはD =新しいハロー();
  • d.hello();
  • d.world();
  • d.join();
  • d.helloWorld();

かへのHelloWorld機能変更:あなたはjoin()を呼び出すとき、したがって、彼らはまだnullのaとbの列がまだ設定されていない

public String helloWorld() { 
    hello(); 
    world(); 
    join(); 
    return c; 
} 

を(あなたがhello()world()でそれらを設定しているため)値。

+0

ありがとうございます。 – Reboot

+0

これは、同じクラス内のクラスのインスタンスを呼び出す完全な例です。あなたの答えは、私がそのコンセプトを理解するのを助けました。乾杯! – Reboot

1

これは、あなたが他のメソッドを呼び出す前に、joinメソッドを呼ばれるようにシンプルなソリューション

package com.fred.code; 

public class concat { 

    public static void main(String[] args) { 
     String a = "hello"; 
     String b = "world"; 
     System.out.println(a + b); 
    } 

} 
+0

あなたの答えをありがとう、私はちょうどクラスのインスタンスがどのようにクラス内で動作するかを探求したいと思った。 – Reboot

関連する問題