打印输出时遇到问题。
班级方法:
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方法中没有参数,但我不知道如何打印它,因为这是我第一次使用它。
答案 0 :(得分:1)
getAccount
返回值,不带参数。所以写点如下:
na1 = account.getAccount();
答案 1 :(得分:1)
这里有很多问题,但不要担心我会帮助你解决这些问题。您可以做很多小事来让您和其他人更容易理解您的代码。封装起初似乎令人困惑,但我发现它开始变得非常快。首先,在构造函数中,您将向后执行任务。我认为你的老师正在让你使用" getters"和#34; setters"每个私人变量?
使用这些签名创建方法:
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.
阅读代码并对其进行注释以解释(对自己)它正在做什么。随着你的继续,它开始越来越像英语/ humanLanguageOfChoice!
如果有任何真正的开发人员想要继续挖掘,我也是一名学生。
答案 2 :(得分:0)
您的代码中未实现方法getAccount(String input)
。
这是:account.getAccount()
。
答案 3 :(得分:0)
所以...你应该知道和学习的一些术语......
getName1() getName2(), getGrade1(), getGrade2(), getGrade3()
等等......而不是getAccount( ),如果你不使用这个惯例,你就欺骗自己和其他开发者.... setName1(), setName2(), setGrade1(), setGrade2(), setGrade3()
依此类推public String getName1()
和setter是public setVariable(将赋予实例变量的参数),例如public setName1(String name1)
在你的情况下,你没有设置,你没有给你的变量赋值,但是你想得到它的值,显然它会有一个空值......是否清楚了?