如何在方法中编写本程序

时间:2014-03-12 17:03:53

标签: java methods

这是我为检查阿姆斯壮号而编写的程序。如何用方法编写

例如,如果我想将其分解为以下4种方法

  • void getnum()
  • int check()
  • void dispsum
  • 以及启用任务的主要方法

    import java.util.Scanner;
    class Arm_check1
    {
        public static void main(String args[])
        {
            int n=0;
            int ori;
            int z;
            System.out.println("Enter a No.");
            Scanner Prakhar=new Scanner(System.in);
            n=Prakhar.nextInt();
            int digits=(int)Math.floor(Math.log10(n)+1);
            System.out.println("No of Digits :"+digits);
            int a[]=new int[digits];
            int sum=0;
            ori=n;
            for(int i=0;i<digits;i++)
            {
                a[i]=n%10;
                n=n/10;
            }
            for(int i=0;i<a.length;i++)
            {
                sum=(int)Math.pow(a[i],3)+sum;
            }
            System.out.println(sum);
            System.out.println(ori);
            if(sum == ori)
            {
                System.out.println("No. is Armstrong");
            }
            else
                System.out.println("No. is not Armstrong");
        }
    }
    

这是我看到的唯一方式,但我的教授说我们不允许在考试中使用相同的内容,即...

void main(){
getnum()
} .... and So On.. 

这是我在Yluns回答之后再次写的

    import java.util.Scanner;
    class Arm_check2
    {
        int n=0;
        int ori;
        int sum;
        void getnum()
        {
            System.out.println("Enter a No.");
            Scanner Prakhar=new Scanner(System.in);
            n=Prakhar.nextInt();
            check();
        }

        int check()
        {
            int digits=(int)Math.floor(Math.log10(n)+1);
            System.out.println("No of Digits :"+digits);
            int a[]=new int[digits];
            int sum=0;
            ori=n;
            for(int i=0;i<digits;i++)
            {
                a[i]=n%10;
                n=n/10;
            }
            for(int i=0;i<a.length;i++)
            {
                sum=(int)Math.pow(a[i],3)+sum;
            }
            dispsum(sum);
            return sum;

        }

        void dispsum(int sum)
        {
            System.out.println(sum);
            System.out.println(ori);
            if(sum == ori)
            {
                System.out.println("No. is Armstrong");
            }
            else
                System.out.println("No. is not Armstrong");
        }
        void main()
        {
            getnum();
        }
    }

2 个答案:

答案 0 :(得分:1)

由于我没有看到合理的尝试,我不会为您编写任何示例代码。但是我会给你这些参考阅读。

了解methodsJava Methods。它们按照以下格式声明:

(private/public) static (return type) (name of method) (parameters){
    //method body
}

你的主要方法应该处理你的其他方法。

答案 1 :(得分:1)

你的主要方法必须保持这种方式:

public static void main(String[] args){
  // function body
}

我看到你已经将旧的函数体分成了新的函数,为什么不尝试按照你需要的顺序调用所有这些新函数?

并且您声明它们为int返回类型,因此您必须存储该结果以使代码的最后一部分正常工作。