package armstrong;
import java.util.Scanner;
public class armstrong {
static int tr;
static double tri=0;
public static void main(String[] args) {
System.out.println("enter a number");
int s;
Scanner sc = new Scanner(System.in);
s=sc.nextInt();
int b=s;
do
{
tr=s%10;
tri=tri+Math.pow(tr,3);
s=s/10;
}
while(s!=0);
if(tri==b)
System.out.println("the number is armstrong");
else
System.out.println("not armstrong");
}
}
这里我介绍了一个变量' b'因为' s'将在do while循环期间进行修改。 有什么方法可以使用' s而不是将值存储到另一个变量
答案 0 :(得分:0)
您可以使用此程序获取Armstrong号码:
import java.util.Scanner;
class ArmstrongNumberChecker {
public static void main(String[] args) {
int c = 0, a, temp,n;
System.out.print("enter a number:");
Scanner sc = new Scanner(System.in);
n = sc.nextInt();
temp = n;
while (n > 0) {
a = n % 10;
n = n / 10;
c = c + (a * a * a);
}
if (temp == c) {
System.out.println("armstrong number");
} else{
System.out.println("Not armstrong number");
}
}
}
答案 1 :(得分:0)
是的。 执行以下操作:
tr = s;
do
{
tri=tri+Math.pow(tr%10,3);
tr=tr/10;
}
while(tr!=0);
然后,
if(tri==s)
System.out.println("the number is armstrong");
else
System.out.println("not armstrong");
注意,我直接在计算中使用了tr%10
。