2014-03-12 2 views
-7

Это программа, которую я написал, чтобы проверить наличие Armstrong No. как я пишу это с методамиКак написать эту программу в методах

Например, если я хочу, чтобы разбить его на 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

Это легко дорого. Просто нарушите код – Kick

ответ

1

Поскольку я не видел разумную попытку, я не буду писать пример кода для вас. Однако я дам вам эти ссылки для чтения.

Прочитано около methods: Java 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 return-type, поэтому вы должны сохранить этот результат, чтобы получить последнюю часть вашего кода.

Смежные вопросы