2017-02-15 62 views
-5

我刚开始学习java并编写了一个非常糟糕的代码。我很肯定会有更好的方法来编写代码。任何人都可以解释我为什么这个代码给我的输出: “nullnull”我只想连接java中的两个字符串

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

在DrJava你需要调用以下顺序的方法:

  • 你好d =新的Hello();
  • d.hello();
  • d.world();
  • d.join();
  • d.helloWorld();

或修改了HelloWorld功能:

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

A和B字符串目前尚未确定(因为你设置他们hello()world()),因此,当你调用join(),他们仍然是一个空值。

+0

感谢队友,这只是没有改变我的代码工作。 – Reboot

+0

这就是在同一个类中调用类实例的完美例子。你的回答帮助我理解了这个概念。干杯! – Reboot

1

这是一个简单的解决方案

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