中易网

Java问题一道,求解,谢谢!

答案:2  悬赏:10  
解决时间 2021-04-27 15:02
  • 提问者网友:醉归
  • 2021-04-27 11:26
1、程序填空,不要改变与输入输出有关的语句。
输入一个正整数repeat (0<repeat<10),做repeat次下列运算:
输入2 个正整数m和n(1<=m,n<=1000),输出m 到n之间的所有满足各位数字的立方和等于它本身的数。
要求定义并调用函数is(number)判断number的各位数字之立方和是否等于它本身。
输出语句:System.out.print(i+" ");
例:括号内是说明
输入:
2    (repeat=2)
100 400  (m=100, n=400)
1 100    (m=1, n=100)
输出:
153 370 371 (1*1*1+5*5*5+3*3*3=153; 3*3*3+7*7*7=370; 3*3*3+7*7*7+1*1*1=371)
1

import java.util.Scanner;
public class Test50008{
  public static void main(String args[]){
  int ri,repeat;
  int i, m, n;
  Scanner in=new Scanner(System.in);
  repeat=in.nextInt();
  for(ri=1;ri<=repeat;ri++){
    m=in.nextInt();
    n=in.nextInt();
填空
    System.out.println();
  }
  }
  填空
}
最佳答案
  • 二级知识专家网友:时光挺欠揍
  • 2021-04-27 12:30


  for (i = m; i <= n; i++) {
   
  boolean boo = is(i);
  if(boo)
  System.out.print(i+" ");

  }


 public static boolean is(int number){
  
  boolean boo = false;
  String str = number + "";
  int he = 0;
  for(int i=0; i<str.length(); i++){
   
  String s = str.substring(i, i+1);
  he += (int)Math.pow(Integer.parseInt(s), 3);
  }
  if(number == he)
  boo = true;
  return boo;

 }


全部回答
  • 1楼网友:无字情书
  • 2021-04-27 14:08

import java.util.Scanner; public class Test50008{   public static void main(String args[]){   int ri,repeat;   int i, m, n;   Scanner in=new Scanner(System.in);   repeat=in.nextInt();   for(ri=1;ri<=repeat;ri++){     m=in.nextInt();     n=in.nextInt();  for(i=m;i<n;i++)  {   if(is(i))    System.out.print(i+" ");

 }        System.out.println();     }   }   public static boolean is(int number)   {   int sum=0;   int temp=number;   while(temp>0)      {    int digit=temp%10;    sum+=Math.pow(digit,3);    temp/=10;   }   if(number==sum)    return true;   return false;   } }

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息