Java 如何通过类打印出值?

Java 如何通过类打印出值?,java,Java,我打印输出有问题 类方法: public class Account { private String name1; private String name2; private double grade1; private double grade2; private double grade3; private double average; public void setAccount(String a1 ,String a2

我打印输出有问题

类方法:

public class Account {
    private String name1;
    private String name2;
    private  double grade1;
    private  double grade2;
    private  double grade3;
    private  double average;
    public void setAccount(String a1 ,String a2 ,double b1,double b2,double b3) {

        a1=name1;
        a2=name2; 
        b1=grade1;
        b2=grade2;
        b3=grade3;
    }

    public void setaverage(double k1){
        k1=average;
    }

    public String getAccount(){
        return name1;
    }

    public String getAccount1(){
        return name2;
    }

    public double getAccount2(){
        return grade1;
    }

    public double getAccount3(){
        return grade2;
    }

    public double getAccount4(){
        return grade3;
    }

    public double getaverage(){
        return average=(grade1+grade2+grade3)/3;
    }
}
主要方法是:

    public static void main(String[] args) {
        Scanner in = new Scanner (System.in);

        Account account= new Account();

        System.out.println("Enter the  frist  and last name of student" );

        String na1=in.nextLine();

        account.getAccount(na1);

    } // end main

} // end class AccountTest
我在
account.getAccount(na1)中有问题

我试图打印一个字符串,以了解程序是否有效

那么如何打印输出呢


我知道这是个问题,因为get方法中没有参数,但我不知道如何打印它,因为这是我第一次使用它。

getAccount
返回值,不带参数。所以写一些类似于:

na1 = account.getAccount();

方法
getAccount(字符串输入)
未在代码中实现


这是:
account.getAccount()

这里有很多问题,但别担心,我会帮你解决的。你可以做很多小事情来让你和其他人更容易理解你的代码。封装一开始似乎令人困惑,但我发现它很快就有了意义。首先在构造器中,你要向后做赋值。我想你的老师让你对每个私有变量使用“getter”和“setter”

创建具有以下签名的方法:

public void setName1(string n1){...}//assigns n1 to name1

public void setName2(String n2){...} //assigns n2 to name2

public void setGrade1(double g1){...} //assigns g1 to grade1

public void setGrade2(double g2){...} //assigns g2 to grade2

public void setGrade3(double g3){...} //assigns gee I wonder.
并在构造函数中使用它们:

public void setAccount(String n1 ,String n2 ,double g1,double g2,double g3) {

    setName1(n1);
    setName2(n2);
    setGrade1(g1);
    setGrade2(g2);
    setGrade3(g3);


}
接下来,我建议以类似的方式命名get*方法

 public String getName1(){...}
 public String getName2(){...}
 public double getGrade1(){...} 
等等

最后是印刷。完成所有设置后,打印到控制台非常容易

System.out.println(getName1()); //will print name1 to the console.
通读代码并对其进行注释,以(对自己)解释代码的作用。随着你们的继续,它开始越来越像英语/人类语言的选择


我也是一名学生,所以如果有真正的开发人员想继续挖掘的话。

所以。。。一些你应该知道和学习的术语

  • get方法,即所谓的getter具有命名约定第一部分是get第二部分是camelCase变量的名称,因此在您的示例中,getter应该是
    getName1()getName2()、getGrade1()、getGrade2()、getGrade3()
    等等。。。而不是getAccount(),如果你不使用这个约定,你会欺骗你自己和其他开发者
  • set方法,即所谓的setter也具有相同的命名约定,在您的情况下,setter应该是
    setName1()、setName2()、setGrade1()、setGrade2()、setGrade3()
    等等
  • getter应该从类中返回变量(值),setter应该“设置”一些值给实例成员(实例或类变量)
  • 从最后一点来看,它明确指出getter是public getVariable(没有参数),例如
    public String getName1()
    ,setter是public setVariable(将提供给实例变量的参数),例如
    public setName1(String name1)

  • 在你的例子中,你没有设置,也没有给你的变量赋值,但是你想得到它的值,很明显它会有一个空值。。。清楚吗?

    System.out.println(account.getAccount(na1))?您认为应该使用哪种方法进行打印?Account类中的main或方法?另外,您打算让getAccount做什么?可能您需要更改方法或编写另一个方法。get方法不应该有参数,这就是我没有设置参数的原因。因为您没有初始化变量=没有给它赋值。。。请检查我的答案。非常感谢。这真的很有帮助,但是我如何才能从用户那里获得输入并打印出来呢