Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 接受一个范围并打印给定范围内的所有Peterson编号_Java_Numbers - Fatal编程技术网

Java 接受一个范围并打印给定范围内的所有Peterson编号

Java 接受一个范围并打印给定范围内的所有Peterson编号,java,numbers,Java,Numbers,我设法确定了彼得森的号码,但在循环中遇到了问题 import java.util.*; public class Special_no { public static void main(String args[]) { Scanner sc=new Scanner(System.in); int n,r,s=0;int i,f,m=0;int a,j=0; System.out.pri

我设法确定了彼得森的号码,但在循环中遇到了问题

import java.util.*;

public class Special_no

{

        public static void main(String args[])
        {
            Scanner sc=new Scanner(System.in);
            int n,r,s=0;int i,f,m=0;int a,j=0;
            System.out.println("Enter the Lower Limit : ");
            n=sc.nextInt(); 
            System.out.println("Enter the Upper Limit : ");
            a=sc.nextInt();
            for(j=n;j<a;j++)
            {  
              m=j;
              do
              { 
                r=m%10;
                f=1;
                for(i=1;i<=r;i++)
                {   
                   f=f*i;
                 }   
                s=s+f;
                 m=m/10;
              }       
              while(m>0);
              if(s==j)
               System.out.print(j+",");
            }
        }
}
import java.util.*;
公共课特别课
{
公共静态void main(字符串参数[])
{
扫描仪sc=新的扫描仪(System.in);
int n,r,s=0;int i,f,m=0;int a,j=0;
System.out.println(“输入下限:”);
n=sc.nextInt();
System.out.println(“输入上限:”);
a=sc.nextInt();

对于(j=n;j请为此更换回路:

    for(i=a;i<=b;i++)
    {
        x=i;
        s=0;
        while(x>0)
        {
            r=x%10;
            fact=1;
            for(k=1;k<=r;k++)
            {
                fact=fact*k;
            }
            s=s+fact;
            x=x/10;
        }
        if(s==i)
        System.out.print(i+"  ");
    }
(i=a;i0)的

{
r=x%10;
事实=1;

对于(k=1;kBy)进行一些调试。正如OliverCharlesworth所说,进行一些调试,但只是为了提示一下,
while(m>0);
做什么?为什么有它?是
while(m>0);
正确吗?你试过
?@Skaros,这是一个
do…while()
而不仅仅是
while()
,所以这不一定是问题所在。@JimLewis如果你是对的,就没有看到那里的
do{