java程序打印null而不是String变量

时间:2016-06-05 10:10:22

标签: java

我做了2节课,其中一节是:

public class tuna {

    public String girlname;

    public tuna(String name) {
        name = girlname;
    }

    public void type() {
        System.out.println("your girl name is :" + girlname);
    }
}

另一个是:

class apples {

    public static void main(String[] args) {
        tuna dog = new tuna("nicole");
        dog.type();
    }
}

似乎一切正常但是当我运行它时会打印出来:

  

你的女孩名字是空的

为什么呢?以及如何解决这个问题?

5 个答案:

答案 0 :(得分:2)

在类tuna的构造函数中,它必须是.. girlname =名;

(你输错了,我猜......)

答案 1 :(得分:0)

请改为尝试:

public class Tuna {

  private final String girlname;

  public Tuna(final String girlname) {
      this.girlname=girlname;
  }

  public String getGirlname() {
    return girlname;
  } 
  ...

}

答案 2 :(得分:0)

您没有正确分配值。

在java中,右边的东西被复制到左边的东西,这是

调用'='运算符的关联性。而不是写name=girlname; 将其写为girlname=name;

答案 3 :(得分:0)

如果使应用程序表现得很奇怪的话,分配的顺序......

你有这个:

 public tuna(String name) {
     name = girlname;
 }

这意味着您正在参数中写下女孩名称的名称;

你的意思是肯定的:

 public tuna(String name) {
    this.girlname = name;
 }

答案 4 :(得分:0)

String[] separatedLines = fileContent.split("\n");
foreach(String s:separatedLines){
    s.split(" ");
    [parse as you wish, like you were doing]
    [do stuff, put results in a list or in another array]
}

我会做出这个简单的改变,让它起作用。请记住,name的值现在存储在girlname中,这就是你想要的。 :)