如何在java的其他类中使用静态方法
在另一个类中使用静态方法但在同一个文件中的正确方法是什么?我在打印x时没有收到任何输出;如何在java的其他类中使用静态方法
import java.util.Scanner;
public class test {
public static void main(String[]args)
{
int x;
x=UserMainCode.checksum(50);
System.out.println(x);
}
}
class UserMainCode
{
public static int checksum(int n)
{
int n1=n,sum=0,d;
while(n1!=0)
{
d=n%10;
n1=n/10;
if(d%2!=0)
{
sum=sum+d;
}
}
if(sum%2==0)
return -1;
else
return 1;
}
}
更改的行
n1=n/10;
到
n1=n1/10;
,一切都将正常工作。
如果您要回答,请解释代码背后的推理。 –
不,这是我的一个愚蠢的错误....感谢很多亨利指出它....但是我曾经认为,如果我的逻辑错了,我会得到一个错误的答案.......不明白没有得到任何输出的原因 –
@SatyakiGuha在你的原代码中,你说'while(n1!= 0)'。但由于你的错字,'n1'永远不会改变。 'while'循环应该运行直到'n1'变为0,但'n1'永远不会为0,因此循环将永远运行。循环之后的语句都不会被执行,包括'System.out.println'。这就是为什么你没有得到任何输出。该计划仍在运行。这是否为你清理了一些东西? – ajb
你正在调用静态方法。你没有得到任何输出的原因是因为'校验和'循环无限,因为它有一个错字。 – ajb
d = n1%10; n1 = n1/10; – amudhan3093