Java 创建回文的方法
所以我在编程方面很糟糕,我必须为大学课程做这件事,我无法理解其中的一些概念。这就是我要说的。我做错了什么?如何调用这些方法将内聚消息返回到main?check方法是从另一个站点借用来填补这个空白的,而我试图找出验证回文的stringbuffer方法。许多评论都是正在进行中的工作,尚未完成。如果这太糟糕了,让我知道,我会重新开始。多谢各位Java 创建回文的方法,java,methods,palindrome,Java,Methods,Palindrome,所以我在编程方面很糟糕,我必须为大学课程做这件事,我无法理解其中的一些概念。这就是我要说的。我做错了什么?如何调用这些方法将内聚消息返回到main?check方法是从另一个站点借用来填补这个空白的,而我试图找出验证回文的stringbuffer方法。许多评论都是正在进行中的工作,尚未完成。如果这太糟糕了,让我知道,我会重新开始。多谢各位 import java.util.*; import java.lang.StringBuffer; public class palindrome {
import java.util.*;
import java.lang.StringBuffer;
public class palindrome {
public static void main(String[] args) {
}
public static String retrieveInput(String number) {
Scanner input = new Scanner(System.in);
System.out.print("Enter a 5 digit integer: ");
number = input.toString();
while (number.length() != 5) {
System.out.println("ERROR!!! Integer must be 5 digits. Please enter a 5 digit integer: ");
System.out.print("Enter a 5 digit integer: ");
number = input.toString();
}
if (number.matches("[0-9]+")) {
} else {
System.out.println("ERROR!!! Input must be numeric. Please enter a 5 digit integer: ");
System.out.print("Enter a 5 digit integer: ");
number = input.toString();
}
return number;
}
// Change, TESTING ONLY!!!!!!!
public static String check(String number) {
String original = number;
String reverse = "";
int length = original.length();
for ( int i = length - 1; i >= 0; i-- )
reverse = reverse + original.charAt(i);
if (original.equals(reverse))
System.out.println("Entered string is a palindrome.");
else
System.out.println("Entered string is not a palindrome.");
return number;
//StringBuffer Palindrome = new StringBuffer(number);
//return number.equals(reverseString);
}
//StringBuffer original = new StringBuffer();
// StringBuffer reverse = original.reverse();
// if (original != original.reverse()) {
// System.out.print("This is not a palindrome");
//}
//return number;
public static String display(String number) {
return number + " is a valid palindrome!";
}
}
尝试此修改,只需稍作更改
import java.util.Scanner;
public class Palindrome { // Prefer beginning class name with a capital letter
// (Java naming convention)
public static void main(String[] args) {
}
public static String retrieveInput(String number) {
Scanner input = new Scanner(System.in);
System.out.print("Enter a 5 digit integer: ");
number = input.nextLine(); // Replace this
while (number.length() != 5) {
System.out
.println("ERROR!!! Integer must be 5 digits. Please enter a 5 digit integer: ");
System.out.print("Enter a 5 digit integer: ");
number = input.nextLine(); // Replace this
}
if (number.matches("[0-9]+")) {
} else {
System.out.println("ERROR!!! Input must be numeric. Please enter a 5 digit integer: ");
System.out.print("Enter a 5 digit integer: ");
number = input.nextLine(); // Replace this
}
input.close(); // Close your scanner after you are done using it.
return number;
}
// Change, TESTING ONLY!!!!!!!
public static String check(String number) {
String original = number;
String reverse = "";
int length = original.length();
for (int i = length - 1; i >= 0; i--)
reverse = reverse + original.charAt(i);
if (original.equals(reverse))
System.out.println("Entered string is a palindrome.");
else
System.out.println("Entered string is not a palindrome.");
return number;
// StringBuffer Palindrome = new StringBuffer(number);
// return number.equals(reverseString);
}
// StringBuffer original = new StringBuffer();
// StringBuffer reverse = original.reverse();
// if (original != original.reverse()) {
// System.out.print("This is not a palindrome");
// }
// return number;
public static String display(String number) {
return number + " is a valid palindrome!";
}
}
从何处获取用户通过扫描仪对象输入的信息?我在这里看不到任何next或nextLine方法调用。@mehmetgüngör提到,您使用的输入不正确。使用input.nextLine而不是input.toString。非常感谢您的帮助。我能问一下两者的区别是什么吗?因为这段代码仍然不起作用,我建议您删除所有未更改的代码行并保留更改的代码行。同时描述一下你为什么要改变他们。我想人们已经解释了什么需要改变。我只是让他更容易了,我建议他应该在什么地方做出改变,不管怎样,他都在努力,所以他可以在这方面努力。这不是让事情变得更简单更简单吗?谢谢你的提示。正如我所说,我不知道我在做什么,我认为这将是一个漫长的过程。有人能解释一下方法是如何被调用的吗?我真的很想学习这一点,这样也许当我有时间的时候,我可以做得更好。干杯