为了账号安全,请及时绑定邮箱和手机立即绑定

有人可以解释为什么这段代码不起作用吗?

有人可以解释为什么这段代码不起作用吗?

墨色风雨 2023-04-13 17:09:40
我在课堂上得到了一个程序,该程序是关于从用户那里获取 2 到 10 (n) 之间的整数用户输入并打印所有“n”个数字回文数字。我想出了一个代码,但它似乎不起作用properly.Myself,我找不到逻辑错误,所以有人可以帮助处理这段代码并提出任何更改建议吗?回文数是从数的两边读出相同的数。    import java.util.Scanner;    public class npalindrome    {    public static void main()    {    int i,j,k,l=0,n,r=1,p;    Scanner sc=new Scanner(System.in);    System.out.println("Enter your number between 2 to 10");    n=sc.nextInt();    for(i=(int)Math.pow(10,n-1);i<=((int)Math.pow(10,n)-1);i++)    {        k=i;        r=0;        l=0;        while(k>=0)        {            r=k%10;            l=(l*10)+r;            k=k/10;        }        if(l==i)        {            System.out.println(i+" ");        }    }}可以说没有输出,程序在无限循环中运行
查看完整描述

1 回答

?
凤凰求蛊

TA贡献1825条经验 获得超4个赞

因为你的k总是大于等于0。所以你陷入了你的while:

while(k>=0)

也许您想将其更改为 just while(k>0)?


查看完整回答
反对 回复 2023-04-13
  • 1 回答
  • 0 关注
  • 67 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信