【问题标题】:How can I use static methods in other classes in java如何在java中的其他类中使用静态方法
【发布时间】:2017-02-20 05:50:50
【问题描述】:

在另一个类中但在同一个文件中使用静态方法的正确方法是什么?我打印 x 时没有得到任何输出;

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;
    }
}

【问题讨论】:

  • 你调用静态方法很好。你没有得到任何输出的原因是因为checksum 无限循环,因为它有一个错字。
  • d=n1%10;n1=n1/10;

标签: java class variables methods static


【解决方案1】:

换行

n1=n/10;

n1=n1/10;

一切都会好起来的。

【讨论】:

  • 如果你要回答,请解释你的代码背后的原因。
  • 不,这对我来说是一个愚蠢的错误......非常感谢亨利指出它......但是我曾经认为如果我的逻辑错误,我会得到错误的答案.......无法理解没有得到任何输出的原因
  • @SatyakiGuha 在您的原始代码中,您说的是while (n1!=0)。但由于您的拼写错误,n1 从未改变。 while 循环应该一直运行到 n1 变为 0,但 n1 永远不会为 0,因此循环将永远运行。循环之后的任何语句都不会被执行,包括System.out.println。这就是为什么你没有得到任何输出。该程序仍在运行。这是否为您解决问题?
猜你喜欢
  • 2013-11-28
  • 2019-12-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多