用一个Java String类型的变量保存用户输入的数字或字符,编写代码进行倒序输出
思路提示:方式较多,可用String类提供的split()将一个字符串转换成数组之后再进行处理
进阶学习:
接受用户在控制台中输入的字符,判断该字符是否符合“回文数特征”。
回文数:如“12321”这种正向排序和反向排序结果相同的数字就是回文数。
思考:
用基础需求的方法是否可以解决这个问题?
package com.hpeu.leon.netclass.practice;
import java.util.Scanner;
import com.sun.jndi.url.iiopname.iiopnameURLContextFactory;
import javafx.beans.binding.When;
public class Palindrome {
public static boolean isPalindrome(String s){
if(s.length()<=1){
System.out.println(s+"是回数");
return true;
}else if(s.charAt(0) != s.charAt(s.length()-1)){
System.out.println(s+"不是回数");
return false;
}
return isPalindrome(s.substring(1,s.length()-1));
}
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("请输入任意长度的数字或字符:");
Scanner sc = new Scanner(System.in);
String palindrome = sc.next();
String[] array = palindrome.split("");
System.out.println("倒序中...");
for(int i=(array.length-1);i>=0;i--){
System.out.print(array[i]);
}
System.out.println("\n---------------------------");
System.out.println("字符串长度为:"+array.length);
System.out.println(palindrome+isPalindrome(palindrome));
//判断回文
/*for(int i=0,j=array.length-1;i<j;i++,j--){
if(array[i]!=array[j]){
System.out.println(palindrome+"不是回文");
break;
}
if(i==j){
System.out.println(palindrome+"是回文");
}
}*/
}
}