Java变量赋值

标签 java

我的代码打印 0 而不是尺寸和年份。我究竟做错了什么?基本上我希望它返回那些但我不确定我在做什么。

public class House {
private int year;
private int size;
private static int nbrOfHouses; 
public static final int MIN_SIZE =10; 

public House(int _year,int _size){
    _year = year;
    _size = size;
}
public static int getNbrHouses(){ 
    return nbrOfHouses;
}
public int getYear(){
    return year;
    }
public int getSize(){
    return size;
}
}


House[] myHouse = new House[10];{
  myHouse[0] = new House(1902, 120);
  myHouse[1] = new House(1954, 180);
  myHouse[2] = new House(1995,90);

  for(int i=0; i< myHouse.length; i++){
        if(myHouse[i]!=null){
          System.out.println(myHouse[i].getYear());

最佳答案

这是倒退的:

public House(int _year,int _size){
    _year = year;
    _size = size;
}

应该是:

public House(int _year,int _size){
    year = _year;
    size = _size;
}

或者更好:

public House(int year,int size){
    this.year = year;
    this.size = size;
}

关于Java变量赋值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18565865/

相关文章:

java - 百分比计算部分在java中不起作用

java - 将数据读回二叉搜索树

java - 为 Postgres 安装 JDBC 时遇到问题

java - IllegalArgumentException : Executable name has embedded quote, 拆分参数

java - Java中的回调方法是什么? (术语似乎使用松散)

java - ListView 适配器中的 ViewHolder 不起作用

java - DirectBuffer、释放

java - 为什么我会得到 int.class cast 的 class cast exception

java - Android WebView 302 重定向 - 蜂窝

Java如何存储不同类型的对象