【发布时间】:2014-04-17 00:21:44
【问题描述】:
这是我为检查阿姆斯壮编号而编写的程序。我如何用方法编写它
例如,如果我想将其分解为以下 4 种方法
- void getnum()
- int check()
- 无效显示
-
以及启用任务的主要方法
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();
}
}
【问题讨论】:
-
何不先自己尝试一下。否则,将其张贴在这里而不展示你的努力,你只是在欺骗自己,失去了宝贵的学习机会。
-
这看起来像是一道作业题。
-
这很简单,亲爱的。只需破坏代码
-
我了解使用方法的概念,只是不知道如何使用它,任何帮助将不胜感激:)