如果Number是armstrong打印0并且如果不是Armstron打印1,那么找到给定的数字是Armstrong数字

时间:2018-01-20 09:11:23

标签: java

尝试代码如下但是根据要求不能正常工作如果是非常强的数字则打印0,如果不是非常强的话则打印1
建议更正实施此计划

{{1}}

2 个答案:

答案 0 :(得分:0)

@Sanjyukta如果号码是非常强大的,你还没有分配isNumber=true,所以每次它都会返回false0而它不会更新i的值isNumber。 以下代码将更新isNumberi值。

  if (temp == c) {
            isNumber = true;
            i = isNumber ? 0 : 1;
        }
        System.out.println(isNumber + "\t" + i);

答案 1 :(得分:0)

回答我的问题:可以使用三元运算符

public static void solution(int N)
{
 int c=0,a,temp;
 temp=N;
 while(N>0)
  {
      a=N%10;
      N=N/10;
      c=c+(a*a*a);
  }
 if(temp == c)
  {
      boolean b = true;
      c = (b) ? 1 : 0;
  }
 else
  {
     boolean b = false;
     c = (b) ? 1 : 0;
  }
   System.out.println(c);
}

class Arm
{
    public static void main(String[] args)
   {
       @SuppressWarnings("resource")
       Scanner s = new Scanner(System.in);
       int N = s.nextInt();
       @SuppressWarnings("unused")
       Example ex= new Example();
       ex.solution(N);
   }
 }