Właśnie zacząłem naukę Java i napisałem bardzo zły kod. Jestem prawie pewien, że będzie lepszy sposób na napisanie kodu. Czy ktoś może mi wyjaśnić, dlaczego ten kod daje mi wyjście: "NULLNULL"

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;
    }
}
-5
Reboot 15 luty 2017, 15:24

2 odpowiedzi

Najlepsza odpowiedź

W Driva musisz zadzwonić do metod w następującej kolejności:

  • Hello D = Nowy Hello ();
  • d.Hello ();
  • D.World ();
  • d.Join ();
  • d.Helloorld ();

Lub modyfikuj funkcję Hellovorld do:

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

Struny A i B nie są jeszcze ustawione (ponieważ ustawisz je w hello() i world()) Dlatego kiedy zadzwonisz join(), są one nadal wartością NULL.

1
Psyonity 15 luty 2017, 12:33

To proste rozwiązanie

package com.fred.code;

public class concat {

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

}
1
u32i64 15 luty 2017, 13:04