有人here和here问了这个问题,但对我都不起作用。那些包含在循环中的var result = employees.Join(salaries,e=>e.Eid,s=>s.Eid,(e,s)=> new {Name=e.EName,Salary=s.Salary})
.OrderByDescending(x=>x.Salary).Skip(4).First();
;我没有。
以下代码检查Armstrong号码:
br.readLine() or scn.nextInt()
我尝试过的事情:
1. ^ Z,^ C(杀死程序)
2.使用readLine(),nextInt(),next()等。无济于事
3.使用在线GDB编译器-结果相同。
这是输出的外观: Does not stop...!
openjdk-8
答案 0 :(得分:2)
您有一个无限循环:
while(val > 0){
dig = val % 10;
sum += Math.pow(dig, len); //Math class comes under java.lang
}
您应该更改val
的值以退出循环,可能在每次迭代时将其除以十:
while(val > 0){
dig = val % 10;
val /= 10;
sum += Math.pow(dig, len); //Math class comes under java.lang
}
答案 1 :(得分:2)
您的代码中存在无限循环:
while(val>0)
{
//problem is here, val is not being changed so you are in an infinite loop
dig=val%10;
sum += Math.pow(dig,len); //Math class comes under java.lang
}