Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
改进JAVA中调用next方法_Java - Fatal编程技术网

改进JAVA中调用next方法

改进JAVA中调用next方法,java,Java,我在寻找一种更好的方法来组织我的课堂。 现在,我的代码如下所示: 主要方法: -1号输入 -使用number1 als值调用method1 方法1: -用输入做“填充” -使用新的“stuff”作为值调用method2 方法2: -做事 -呼叫方法3 等等 所以我从主方法中的用户输入开始,我的整个类就像domino一样工作,需要调用第一个方法来运行下一个方法。 我希望method1返回一个值,并将其保存在类中的某个全局变量中,该变量可由method2使用,依此类推。 这是我的代码,正好解决了这个

我在寻找一种更好的方法来组织我的课堂。 现在,我的代码如下所示: 主要方法: -1号输入 -使用number1 als值调用method1

方法1: -用输入做“填充” -使用新的“stuff”作为值调用method2

方法2: -做事 -呼叫方法3

等等

所以我从主方法中的用户输入开始,我的整个类就像domino一样工作,需要调用第一个方法来运行下一个方法。 我希望method1返回一个值,并将其保存在类中的某个全局变量中,该变量可由method2使用,依此类推。 这是我的代码,正好解决了这个问题:(它计算sqrt)

包wurzel;
导入java.util.Scanner;
进口沃尔泽尔分数;
公共类wurzel{
公共静态void main(字符串[]args){
扫描仪s=新的扫描仪(System.in);
System.out.println(“Eingabe:”);
int in=s.nextInt();
s、 close();
二等分(in);
}
私有静态整数二分(整数N){
int计数器=0;
对于(int i=0;iN){
计数器--;
打破
}
else if(计数器*计数器==N){
打破
}
else计数器++;
}
计算序列(计数器,N);
返回计数器;
}
静态int[]计算序列(int vKomma,int look){
int m=0;
int d=1;
int a=vKomma;
int[]intar=新的int[4];
intarr[0]=vKomma;
对于(int i=1;i 0;d计数器--){
result=result.interactive().add(序列[dcounter-1]);
}
System.out.println(“近似值:+result.doubleValue());
System.out.println(“近似值:+结果”);
返回结果。doubleValue();
}      
}

您还应该将代码分为不同的类。例如,有一个包含这些方法的通用MathHelper类


这有助于保持代码的独立性和易读性。

您提到希望将一些数据存储在类的全局变量中。实现这一点的方法是让类使用实例方法而不是类方法。对于类方法,必须使用类变量。但是,当您使用实例方法时,您可以定义实例变量,这些变量可以由类中的任何方法访问

为此,请通过从每个方法中删除关键字
static
,来更改所有方法(main()除外)。然后,定义类的全局实例变量。e、 g.如果您的全局变量是int类型,那么它将是:

private int myInstanceVariable;

此实例变量或全局变量可由getter和setter访问。

相互调用并形成长调用链是非常正常的方法。 所以我不会为此担心。实际上在现实世界中,在企业代码中, 您的调用堆栈经历了数十个调用。所以我认为全局变量会
与你所做的相比,这是更糟糕的练习。

这也是我想做的。不幸的是,任务是找到只有一个类的解决方案。啊。好吧,我想只要你注释好代码并保持代码格式良好,你就应该可以了。虽然我同意彼得的观点,但这并不罕见。。。它不干净,但也不奇怪。问题是,我必须添加另一个在method1或method2中未使用的输入。因此,我必须在这些方法中添加另一个参数,该参数在那里没有用处,仅在最后一步中使用。我不确定是否允许更改“静态”。但我想我会尝试。感谢他的意思是,如果您将方法保持为静态,那么静态方法将无法访问这些实例变量(“全局”)。所以把你的方法变成实例方法。你可以移除静态的。但是,在main()中,必须实例化wurzel的一个实例。e、 g:wurzel wz=新的wurzel();然后将实例方法传递给引用,例如wz.二分法(5);
private int myInstanceVariable;