簡體   English   中英

我定義了一個隨機數,我想檢查它是否是回文Java

[英]I defined a random number and i want to check if it is a palindrome java

import java.util.Random;

public class Loop6 {
    public static void main(String[] args) {

        Random number = new Random();
        int value = number.nextInt(1000);
        System.out.println("random number : " + " " + value);

        int rev = 0;
        int dig;

        while (value > 0) {
            dig = value % 10;
            rev = rev * 10;
            rev = rev + dig;
            value = value / 10;
        }
        System.out.println("rev is : " + "" + rev);
        if(value==rev) {
            System.out.println("Palindrome");

        }

    }
}

Java具有內置的方法來反轉字符串。

String originalValue = value + "";
StringBuilder stringBuilder = new StringBuilder(originalValue);
String reverseValue = stringBuilder.reverse().toString();

if (originalValue.equals(reverseValue)) System.out.println("Palindrome");

解決方案:

public class Test {

    public static void main(String[] args) {
        Random number = new Random();
        int value = number.nextInt(1000);
        System.out.println("Original number : " + " " + value);
        int tmp = value;
        int result = 0;
        while (tmp != 0) {
            result = result * 10 + (tmp % 10);
            tmp = tmp / 10;
        }
        System.out.println("Reversed Number : " + " " + result);
        if (result != value) {
            System.out.println("Not Palindrome");
        } else {
            System.out.println("Palindrome");
        }

    }

}

謝謝 :)

您的代碼幾乎可以了,只是您要更新的初始隨機數不是您想要的。 為了盡量減少對代碼的更改,我建議您添加一個新變量,並將其與反向算法的結果進行比較。

import java.util.Random;

public class Loop6 {
    public static void main(String[] args) {

        Random number = new Random();
        int randomNumber = number.nextInt(1000);  // introduce the initial variable
        int value = randomNumber;  // introduce the variable that will be updated
        System.out.println("random number : " + " " + value);

        int rev = 0;
        int dig;

        while (value > 0) {
            dig = value % 10;
            rev = rev * 10;
            rev = rev + dig;
            value = value / 10;
        }
        System.out.println("rev is : " + "" + rev);
        if (randomNumber == rev) {  // compare the initial variable and the reverse result
            System.out.println("Palindrome");

        }

    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM