【发布时间】:2019-03-31 05:25:51
【问题描述】:
import java.util.*;
public class Composite_Magic
{
public static void main()
{
int i,j,m,n,fact=0,sum=0,temp=0;
boolean k=false;
Scanner sc=new Scanner(System.in);
System.out.println("Enter 2 numbers as upper and lower bound and all composite numbers between them will be displayed");
m=sc.nextInt();
n=sc.nextInt();
sc.close();
if(m<n){
for(i=m;i<=n;i++)
{
for(j=1;j<=i;j++)
{
if(i%j==0)
fact++;
}
sum=i;
while(k==false)
{
temp=sum;
while(temp>0)
{
sum=sum+(temp%10);
temp=temp/10;
}
if(sum/10==0)
k=true;
}
if(sum==1 && fact>2)
System.out.println(i);
}
}
else
System.out.println("Invalid Input");
}
}
所以我只要求输入两次,但并没有停止。
这是我犯的错误还是错误?
这是我的完整程序。
【问题讨论】:
-
可以分享剩余的代码吗?
-
您在控制台中输入的内容是什么
-
你的
main()方法在哪里调用? -
只要您不关闭扫描仪,它就会要求输入。
-
我没有在程序的其他任何地方调用我的 main() 方法。我在类选项中使用 void main() 来运行它。
标签: java input java.util.scanner infinite