【问题标题】:Guys Plz help me to get correct out for "111" and "222" Because I got correct for "333" and above series [closed]伙计们请帮我纠正“111”和“222”因为我纠正了“333”及以上系列[关闭]
【发布时间】:2020-05-02 19:59:26
【问题描述】:

伙计们,我对回文有一个疑问。我为数字回文编写了一个程序。它执行成功,但是当我输入 333 时,我得到了正确的输出,当我输入 111 时,我得到了错误的输出。我不知道出了什么问题,因为当我执行高于 3 时会给出正确的输出,但是当我给出低于 3 时,我得到了错误的输出。请帮我看看我做错了什么。

public class Practice1 {
    public static void main(String[] args) {
        int num = 121, res = 0, var = 0, c = num;
        for (int i = 1; i <= num; i++) {
            res = num % 10;
            var = var * 10 + res;
            num = (num) / 10;
        }
        if (var == c) {
            System.out.println(c + " is a Palindrome Number");
        } else {
            System.out.println(c + " is not a Palindrome Number");
        }
    } 
}

【问题讨论】:

  • for(int i=1;i&lt;=num;i++) 看起来很奇怪,看看你在用 num 做什么。
  • 这能回答你的问题吗? How to check if a number is palindrome in Java?
  • 专业提示:带有“plz”这个词的问题可能会被否决,如果它出现在标题中,他们会得到更多。问题是为了未来的读者而准备的——所以如果它们可以尽可能地可读是理想的。技术写作优先。

标签: java palindrome


【解决方案1】:

你可以使用while循环

    public static void main(String[] args) {
        int num = 121, res = 0, var = 0, c = num;
        while (num != 0) {
            res = num % 10;
            var = var * 10 + res;
            num = (num) / 10;
        }
        if (var == c) {
            System.out.println(c + " is a Palindrome Number");
        } else {
            System.out.println(c + " is not a Palindrome Number");
        }
    }

【讨论】:

  • 请将问题标记为duplicate 并继续前进,而不是重复明显的答案。
  • 我已标记为重复
猜你喜欢
  • 2016-04-02
  • 2014-03-18
  • 2021-04-23
  • 1970-01-01
  • 1970-01-01
  • 2017-06-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多