作业 编写一个测试程序,提示用户输入一个整数并报告该整数是否为回文
Homework Write a test program that prompts the user to enter an integer and reports whether the integer is a palindrome
Objective:
(回文整数)写方法如下headers:
// Return整数的反转,即reverse(456) returns 654
public static int reverse(int number)
// Return 如果数字是回文,则为真
public static boolean isPalindrome(int number)
使用reverse方法来实现isPalindrome。一个数字是一个回文
如果其反转与自身相同。编写一个测试程序,提示
用户输入一个整数并报告该整数是否为回文。
我的代码在下面...我的尝试在下面。我已经崩溃了,我不知道除了来这里还能做什么。我被困在代码的布尔部分,不知道这段代码的其余部分是否正确。我在互联网上搜索过,看到的例子很少,但其中 none 是有意义的。我是一个视觉学习者,所以 none 这对我来说真的很有意义。 Java 2 个月前开始,所以请不要指望我在知识极其有限的情况下生产黄金。我需要 help-help,而不是琐碎或机智的评论。如果您不想提供帮助,请不要发表评论。
public class NewClass {
public static int reverse(int number) {
int remainder = 0;
while (number != 0) {
remainder = number % 10;
number = number / 10;
System.out.print(remainder);
}
System.out.println(" is the reverse number.");
return remainder;
}
//I don't really know what to do here.
public static boolean isPalindrome(int number, int remainder) {
return number == remainder;
}
//Nor do I know what I'm doing here. I'm supposed to make the result from 'reverse' either true or false but I don't know what it write, considering the 'Boolean' portion is unfinished.
public static void main(String[] args) {
System.out.print("Enter an integer: ");
java.util.Scanner input = new java.util.Scanner(System.in);
int number = input.nextInt();
reverse(number);
int remainder = 0;
if ( remainder == ture)
}
}
修订:
public class NewClass {
public static int reverse(int number) {
int reverse = 0;
while (number != 0) {
reverse = (reverse * 10) + number % 10;
number = number / 10;
System.out.print(reverse);
}
System.out.println(" is the reverse number.");
return (reverse);
}
public static boolean isPalindrome(int number) {
return (number == reverse(number)); //Still being asked to introduce this line. I don't know what that means. My book says nothing and the internets isn't helping.
}
public static void main(String[] args) {
System.out.print("Enter an integer: ");
java.util.Scanner input = new java.util.Scanner(System.in);
int number = input.nextInt();
reverse(number);
if (number == reverse(number)) {
System.out.println(number + " is a palindrome");
}
else{
System.out.println(number + " is not a palindrome");
}
}
}
**结果:
运行:
Enter an integer: 121
112121 is the reverse number.
112121 is the reverse number.
121 is a palindrome
BUILD SUCCESSFUL (total time: 2 seconds)**
我的问题:我不知道我在用这段代码的 true 和 false 部分做什么。重点是检查数字,将其与反转数字进行比较,检查它是否是回文。第二个问题是反向数字以两倍的数字重复自身...我不知道我做错了什么或如何解决它。
查询:
public static boolean isPalindrome(int number) {
return (number == reverse(number));
}
我被要求介绍这行,但我不知道它是什么意思。这是我唯一的错误。它应该 return 是真还是假,对吗?我该如何处理它,因为看起来我创建了一个不需要该特定行的代码,即使它是必需的。
如果你在谈论如何根据 reverse
实现 isPalindrome
,它只是简单地计算出数字和它的倒数是否相同。
所以,例如,767
是一个回文,因为当反转时,它等于原来的。但是,314159
不是 回文,因为它的反转是一个完全不同的数字,951413
。
这意味着像这样的伪代码应该足够了(我已经包括了 reverse
因为你当前的实现,虽然关闭,returns 最后的余数而不是倒数):
def reverse(num):
rnum = 0
while num != 0:
rnum = (rnum * 10) + (num % 10)
num = num / 10
return rnum
def isPalindrome(num):
return (num == reverse(num))
如果你想自己弄清楚,请不要看下面。这就是我为达到这种水平的技能而采用的方法,我提供它只是为了完整性。
public class Test {
public static int reverse (int num) {
int rnum = 0;
while (num > 0) {
rnum = (rnum * 10) + (num % 10);
num = num / 10;
}
return rnum;
}
public static boolean isPalindrome (int num) {
return (num == reverse (num));
}
public static void main(String args[])
{
System.out.println(isPalindrome (767));
System.out.println(isPalindrome (12321));
System.out.println(isPalindrome (4));
System.out.println(isPalindrome (314159));
}
}
我个人使用我的两种方法来做这件事,但是做 StringBuilder 的人也做得很好 :)。
这是我的反转代码,然后我调用它并检查它是否是回文。
public static String reverseString(String str)
{
String blank = "";
for(int i = str.length()-1; i >= 0; i--)
{
blank = blank + str.charAt(i);
}
return blank;
}
// NOW you can call isPalindrome("Whatever string you wanna check.");
public static boolean isPalindrome(String str)
{
String reverse = reverseString(str);
if(str.equalsIgnoreCase(reverse))
{
return true;
}
else
{
return false;
}
}
这是一条线,我认为这是最短的:
int i; // given
if ((i + "").equals(new StringBuilder(i + "").reverse() + ""))
// it's a palindrome
这是检查给定数字是否为回文的示例。
public static void main(String [] args) {
System.out.println("Please Enter a number : ");
int palindrome = new Scanner(System.in).nextInt();
if(isPalindrome(palindrome)){
System.out.println("Number : " + palindrome + " is a palindrome");
}else{
System.out.println("Number : " + palindrome + " is not a palindrome");
}
}
/*
* Java method to check if number is palindrome or not
*/
public static boolean isPalindrome(int number) {
int palindrome = number; // copied number into variable
int reverse = 0;
while (palindrome != 0) {
int remainder = palindrome % 10;
reverse = reverse * 10 + remainder;
palindrome = palindrome / 10;
}
// if original and reverse of number is equal means
// number is palindrome in Java
if (number == reverse) {
return true;
}
return false;
}
}
Objective: (回文整数)写方法如下headers:
// Return整数的反转,即reverse(456) returns 654 public static int reverse(int number)
// Return 如果数字是回文,则为真 public static boolean isPalindrome(int number)
使用reverse方法来实现isPalindrome。一个数字是一个回文 如果其反转与自身相同。编写一个测试程序,提示 用户输入一个整数并报告该整数是否为回文。
我的代码在下面...我的尝试在下面。我已经崩溃了,我不知道除了来这里还能做什么。我被困在代码的布尔部分,不知道这段代码的其余部分是否正确。我在互联网上搜索过,看到的例子很少,但其中 none 是有意义的。我是一个视觉学习者,所以 none 这对我来说真的很有意义。 Java 2 个月前开始,所以请不要指望我在知识极其有限的情况下生产黄金。我需要 help-help,而不是琐碎或机智的评论。如果您不想提供帮助,请不要发表评论。
public class NewClass {
public static int reverse(int number) {
int remainder = 0;
while (number != 0) {
remainder = number % 10;
number = number / 10;
System.out.print(remainder);
}
System.out.println(" is the reverse number.");
return remainder;
}
//I don't really know what to do here.
public static boolean isPalindrome(int number, int remainder) {
return number == remainder;
}
//Nor do I know what I'm doing here. I'm supposed to make the result from 'reverse' either true or false but I don't know what it write, considering the 'Boolean' portion is unfinished.
public static void main(String[] args) {
System.out.print("Enter an integer: ");
java.util.Scanner input = new java.util.Scanner(System.in);
int number = input.nextInt();
reverse(number);
int remainder = 0;
if ( remainder == ture)
}
}
修订:
public class NewClass {
public static int reverse(int number) {
int reverse = 0;
while (number != 0) {
reverse = (reverse * 10) + number % 10;
number = number / 10;
System.out.print(reverse);
}
System.out.println(" is the reverse number.");
return (reverse);
}
public static boolean isPalindrome(int number) {
return (number == reverse(number)); //Still being asked to introduce this line. I don't know what that means. My book says nothing and the internets isn't helping.
}
public static void main(String[] args) {
System.out.print("Enter an integer: ");
java.util.Scanner input = new java.util.Scanner(System.in);
int number = input.nextInt();
reverse(number);
if (number == reverse(number)) {
System.out.println(number + " is a palindrome");
}
else{
System.out.println(number + " is not a palindrome");
}
}
}
**结果: 运行:
Enter an integer: 121
112121 is the reverse number.
112121 is the reverse number.
121 is a palindrome
BUILD SUCCESSFUL (total time: 2 seconds)**
我的问题:我不知道我在用这段代码的 true 和 false 部分做什么。重点是检查数字,将其与反转数字进行比较,检查它是否是回文。第二个问题是反向数字以两倍的数字重复自身...我不知道我做错了什么或如何解决它。
查询:
public static boolean isPalindrome(int number) {
return (number == reverse(number));
}
我被要求介绍这行,但我不知道它是什么意思。这是我唯一的错误。它应该 return 是真还是假,对吗?我该如何处理它,因为看起来我创建了一个不需要该特定行的代码,即使它是必需的。
如果你在谈论如何根据 reverse
实现 isPalindrome
,它只是简单地计算出数字和它的倒数是否相同。
所以,例如,767
是一个回文,因为当反转时,它等于原来的。但是,314159
不是 回文,因为它的反转是一个完全不同的数字,951413
。
这意味着像这样的伪代码应该足够了(我已经包括了 reverse
因为你当前的实现,虽然关闭,returns 最后的余数而不是倒数):
def reverse(num):
rnum = 0
while num != 0:
rnum = (rnum * 10) + (num % 10)
num = num / 10
return rnum
def isPalindrome(num):
return (num == reverse(num))
如果你想自己弄清楚,请不要看下面。这就是我为达到这种水平的技能而采用的方法,我提供它只是为了完整性。
public class Test {
public static int reverse (int num) {
int rnum = 0;
while (num > 0) {
rnum = (rnum * 10) + (num % 10);
num = num / 10;
}
return rnum;
}
public static boolean isPalindrome (int num) {
return (num == reverse (num));
}
public static void main(String args[])
{
System.out.println(isPalindrome (767));
System.out.println(isPalindrome (12321));
System.out.println(isPalindrome (4));
System.out.println(isPalindrome (314159));
}
}
我个人使用我的两种方法来做这件事,但是做 StringBuilder 的人也做得很好 :)。 这是我的反转代码,然后我调用它并检查它是否是回文。
public static String reverseString(String str)
{
String blank = "";
for(int i = str.length()-1; i >= 0; i--)
{
blank = blank + str.charAt(i);
}
return blank;
}
// NOW you can call isPalindrome("Whatever string you wanna check.");
public static boolean isPalindrome(String str)
{
String reverse = reverseString(str);
if(str.equalsIgnoreCase(reverse))
{
return true;
}
else
{
return false;
}
}
这是一条线,我认为这是最短的:
int i; // given
if ((i + "").equals(new StringBuilder(i + "").reverse() + ""))
// it's a palindrome
这是检查给定数字是否为回文的示例。
public static void main(String [] args) {
System.out.println("Please Enter a number : ");
int palindrome = new Scanner(System.in).nextInt();
if(isPalindrome(palindrome)){
System.out.println("Number : " + palindrome + " is a palindrome");
}else{
System.out.println("Number : " + palindrome + " is not a palindrome");
}
}
/*
* Java method to check if number is palindrome or not
*/
public static boolean isPalindrome(int number) {
int palindrome = number; // copied number into variable
int reverse = 0;
while (palindrome != 0) {
int remainder = palindrome % 10;
reverse = reverse * 10 + remainder;
palindrome = palindrome / 10;
}
// if original and reverse of number is equal means
// number is palindrome in Java
if (number == reverse) {
return true;
}
return false;
}
}