此代码的主要目标是使用此关键字并设置全局变量(十,零,和二十等于int 10,int 0,int 20。)那么我会调用该方法,它会将它们加在一起。(总值为30)
package javaapplication53;
public class NewClass {
public int ten = 10;
public int zero = 0;
public int twenty = 20;
public int yourMethod(int ten, int zero, int twenty) {
this.ten = ten;
this.zero = zero;
this.twenty = twenty;
return(ten +zero+ twenty);
}
}
然后我在main方法中调用了构造函数。
package javaapplication53;
public class JavaApplication53 {
public static void main(String[] args) {
NewClass nc = new NewClass();
nc.NewClass(ten, zero, twenty);
}
}
它说我必须输入3 int,我以为我在另一个类中做了。
我是计算机编程的新手
答案 0 :(得分:8)
您打算调用NewClass中定义的方法 -
所以而不是 -
nc.NewClass();
你可能想要 -
nc.yourMethod(n1, n2, n3); //where n1, n2, n3 are integers.
实施例 -
System.out.println(nc.yourMethod(50, 45, 89));
另外,也许你希望你的NewClass是这样的,因为为方法参数赋值不是一个好习惯:
public class NewClass {
private int ten;
private int zero;
private int twenty;
public int yourMethod(int ten, int zero, int twenty) {
this.ten = ten;
this.zero = zero;
this.twenty = twenty;
int sum = (this.ten + this.zero + this.twenty);
return sum;
}
}
如果您想避免意外地为方法参数指定新值,可以像这样使用 final ,这是一个很好的做法 -
public int yourMethod(final int ten, final int zero, final int twenty) {
// code
}
答案 1 :(得分:1)
你是否有机会尝试这样做:
public class NewClass {
public int ten = 10;
public int zero = 0;
public int twenty = 20;
public int yourMethod(int ten, int zero, int twenty) {
this.ten = ten;
this.zero = zero;
this.twenty = twenty;
return(ten +zero+ twenty);
}
测试类
Public class JavaApplication53 {
public static void main(String[] args) {
NewClass nc = new NewClass();
nc.yourMethod(4,5,30)
}
你试图将“4”,“5”和“30”传递给计算以返回所有这些的总和吗?如果你是,那么这两个课应该看起来更好。 我从顶级类中删除了r,5和30值,并将它们放在第二个类中作为调用“yourMethod”方法时要传递的参数。 我希望这有帮助
答案 2 :(得分:0)
我学习“this”和“super”的方式是使用IDE。当您在Eclipse / Netbeans中突出显示变量时,会突出显示提及该变量的所有其他位置。
这是一种可接受的方式:
类别:
public class NewClass {
public int ten, zero, twenty;
/* This is the constructor called when you do
* NewClass nameOfVar = new NewClass(blah, blah, blah);
*/
public NewClass(int ten, int zero, int twenty) {
this.ten = ten;
this.zero = zero;
this.twenty = twenty;
}
/* This method/function sums and returns the numbers */
public int sum() {
return ten + zero+ twenty;
}
}
主:
public class JavaApplication53 {
public static void main(String[] args) {
NewClass nc = new NewClass(10, 0, 20);
System.out.println(nc.sum());
}
}
输出为30。