62,623
社区成员
发帖
与我相关
我的任务
分享import java.util.Scanner;
public class Test {
public static void main(String[] args) {
String str = readString();
boolean b = isPalindrome(str);
// C 风格的格式输出,看其中的%s(表示字符串),
// 后面参考的第一个填充第一个%s,第二个填充第二个%s,
// 第二个是个三目运算符,当b=true时,设为空的,为false时设为NOT
// 这样就可以用于显示了。
System.out.printf("%s is %sa palindrome.%n", str, b ? "" : "NOT ");
}
/**
* 从控制台输入字符串
* @return 输入的字符串
*/
public static String readString() {
// Scanner是JDK1.5中新增加的类,可以很方便地从控制台中读入数据
Scanner sc = new Scanner(System.in);
System.out.print("Please input a string: ");
// next()从控制台中读取数据,并去掉前后的空格
String str = sc.next().trim();
sc.close();
return str;
}
/**
* 判断一个字符串是否是回文<br/>
* 比较方法:<br/>
* 左边第一个字符与右边第一个字符进行比较;<br/>
* 左边第二个字符与右边第二个字符进行比较;<br/>
* ……<br/>
* 直到全部比完,如果都是相等的话,那就是回文的,否则就不是了
* @param str 待判断的字符串
* @return true 是回文的;false 不是回文的
*/
public static boolean isPalindrome(String str) {
// 将字符串罻为字符数组,就变成一个一个的了
char[] chars = str.toCharArray();
// 获得字符串中最大的索引值
int maxIndex = str.length() - 1;
// 由于左边和右边进行比较,只要循环一半就够了
for(int i = 0, k = str.length() / 2; i < k; i++) {
if(chars[i] != chars[maxIndex - i]) {
// 当左右字符只要有一个不同时,那肯定就不是回文的了,直接返回false
return false;
}
}
// 全部完成后,说明都是相同的,那就是回文,返回true了
return true;
}
}import java.util.Scanner;
public class Test {
public static void main(String[] args) {
String str = readString();
boolean b = isPalindrome(str);
System.out.printf("%s is %sa palindrome.%n", str, b ? "" : "NOT ");
}
public static String readString() {
Scanner sc = new Scanner(System.in);
System.out.print("Please input a string: ");
String str = sc.next().trim();
sc.close();
return str;
}
public static boolean isPalindrome(String str) {
char[] chars = str.toCharArray();
int maxIndex = str.length() - 1;
for(int i = 0, k = str.length() / 2; i < k; i++) {
if(chars[i] != chars[maxIndex - i]) {
return false;
}
}
return true;
}
}try {
BufferedReader keyboard = new BufferedReader(new InputStreamReader(
System.in));
StringBuffer X;
System.out.println("X=");
X = new StringBuffer(keyboard.readLine());
String uX = new String(X);
X.reverse();
if (uX.equals(X.toString())) {
System.out.println("X is a palindrome");
} else{
System.out.println("X is Not a palindrome");
}
} catch (Exception e) {
}