這我寫檢查的阿姆斯特朗號方案我怎麼與方法如何編寫這個程序的方法
例如寫,如果我想要把它分解成以下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();
}
}
爲什麼不先自己嘗試一下。否則,通過在這裏發佈而不顯示你的努力,你只是在寶貴的學習機會中欺騙自己。 –
這看起來像一個家庭作業問題。 –
這很容易dear.Just破解代碼 – Kick