判断一个数是否是回文数,只需要判断这串数字的首尾对称位置的数字是否是相等的;
如果这串数字有奇数个数字,则中间的那个数字不要判断;
关键代码如下:
public class isPalindrome{
public static void main(String[] args){
System.out.println("请输入一串数字:");
java.util.Scanner input =new Scanner(System.in);
String numstring = input.nextLine();
int low = 0;
int high = numString.length - 1;
boolean isPalindrome=true;
while(low < high){
if(numString.charAt[low] != numString.charAt[high]){
isPalindrome = false;
break;
}
low++;
high--;
}
if(isPalindrome)
System.out.println(numString + "is a palindrome");
else
System.out.println(numString + "is not a palindrome");
}
Scanner:【标准输入流】
有两种使用方法:
- 导入一个包:
import java.util.* //或者 import java.util.Scanner Scanner 对象名 = new Scanner(System.in); //对象名自取
- 直接使用:java.util.Scanner
java.util.Scanner 对象名 = new java.util.Scanner(System.in);
注意:输入完以上两种格式中的一种,只是打开了输入方法的大门,要想接收输入的内容,还是需要以下格式:
//这里的对象名和上面的一样
//接收整型数据
int intValue = 对象名.nextInt();
//双精度型
double doubleValue = 对象名.nextDouble();
nextLong\nextByte
.....
如何接收字符串呢?
String s = 对象名.nextLine();
//也可以是next();
//String s = 对象名.next();
next()和nextLine()的区别:
next()遇到空白字符(\n,\t,空格,\f,\r)就知道输入结束了,
而next Line()需要换行符(\n)才知道输入结束,换句话说,nextLine()是用来读取一行文本的方法。
说到空白字符,不得不提java中的字符串类有个trim()方法:
trim():
一个可以去除字符串头尾空白字符的方法,返回新的字符串。