2014-03-12 29 views
-7

這我寫檢查的阿姆斯特朗號方案我怎麼與方法如何編寫這個程序的方法

例如寫,如果我想要把它分解成以下4種方法

  • 空隙getnum()
  • INT校驗()
  • 空隙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

這很容易dear.Just破解代碼 – Kick

回答

1

後再次寫因爲我還沒有看到一個合理的嘗試,我不會寫任何代碼示例爲您服務。不過,我會給你這些參考閱讀。

閱讀關於methodsJava Methods。它們被聲明爲以下格式:

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

您的主要方法應該處理調用您的其他方法。

+0

記錄這不是作業,而是一個練習題I在某處清除掉 – user3411752

1

你的主要方法有可能留在這個方式:

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

我看到你已分裂舊函數體進入新的功能,你爲什麼不嘗試調用所有這些新功能在您需要的順序?

而你宣佈他們爲int返回類型,因此你必須存儲該結果以使代碼的最後一部分工作。