Java 从主方法调用方法以显示值 公共类显示{ 专用int选项卡; 公共int getTab(){ 返回选项卡; } 公共void设置选项卡(int选项卡){ this.tab=tab; } 公共void displayTables(){ int j,a; 对于(j=1;j

Java 从主方法调用方法以显示值 公共类显示{ 专用int选项卡; 公共int getTab(){ 返回选项卡; } 公共void设置选项卡(int选项卡){ this.tab=tab; } 公共void displayTables(){ int j,a; 对于(j=1;j,java,Java,您使用的是Display的另一个实例,该实例没有设置变量tab,因此它使用用于数字原语的默认值0 public class Display { private int tab; public int getTab() { return tab; } public void setTab(int tab) { this.tab = tab; } public void displayTables(){

您使用的是
Display
的另一个实例,该实例没有设置变量
tab
,因此它使用用于数字原语的默认值
0

public class Display {

    private int tab;
    public int getTab() {
        return tab;
    }
    public void setTab(int tab) {
        this.tab = tab;
    }

    public void displayTables(){
        int j,a;
        for(j=1;j<11;j++){
            a=getTab()*j;
            System.out.println(a);
        }   
    }

    public static void main(String[] args) {
        // TODO Auto-generated method stub

        Display d=new Display();
        d.setTab(3);
        new Display().displayTables();

    }


}

您使用的是另一个
Display
实例,该实例没有设置变量
选项卡
,因此它使用了用于数字原语的默认值
0

public class Display {

    private int tab;
    public int getTab() {
        return tab;
    }
    public void setTab(int tab) {
        this.tab = tab;
    }

    public void displayTables(){
        int j,a;
        for(j=1;j<11;j++){
            a=getTab()*j;
            System.out.println(a);
        }   
    }

    public static void main(String[] args) {
        // TODO Auto-generated method stub

        Display d=new Display();
        d.setTab(3);
        new Display().displayTables();

    }


}

您正在使用不同的实例来设置选项卡值和显示表

d.displayTables();

您正在使用不同的实例来设置选项卡值和显示表

d.displayTables();

您通常不需要使用setter/getter从同一类中访问私有字段。您可以直接访问它们,例如
a=tab*j
。在这种情况下,您甚至不需要
a
,只需调用
System.out.println(tab*j)
。也可以使用for(int j=1;j<11;j++)在for循环中声明变量
j
{…。通常不需要使用setter/getter从同一类中访问私有字段。您可以直接访问它们,例如
a=tab*j
。在这种情况下,您甚至不需要
a
,只需调用
System.out.println(tab*j)
。也可以使用for(int j=1;j<11;j++){…在for循环中声明变量
j