废话不多说了、直接给大家贴代码了、具体代码如下所述:
パッケージcom.gdh.backtext; import java.util.hashmap; import java.util.map; import java.util.map.entry; public class backtext {string text; public backtext(){super(); this.text = null;} public backtext(string text){super(); this.text = text;} public boolean isbacktext(){for(int i = 0、j = text.length() - i-1; i <= j; i ++、j-){if(text.charat(i)!= text.charat(j)){return false; }} return true;} public map <character、integer> countString(){map <character、integer> map = new hashmap <>(); int count = 0; string temp = new String(); for(int i = 0; i <text.length(); i ++){if(temp.indexof(text.charat(i)、0)<0){temp+= text.charat(i); }} map.clear(); for(int i = 0; i <temp.length(); i ++){if(!map.containskey(temp.charat(i))){for(int j = 0; j <text.length(); j ++){if(text.charat(j)== temp.charat(i)){count ++; }} map.put(temp.charat(i)、count); count = 0; } // }マップを返します。 } public string convert(){int checksum = 0; int itemcount = 0; map <文字、integer> map = countString(); for(entry <character、integer> item:map.entryset()){checksum+= item.getValue(); if(item.getValue()%2!= 0)itemCount ++; } if(itemcount> 1){system.out.println( "该字符串不能转换为回文字"); nullを返します。 } stringbuffer temp = new StringBuffer(text); // int endidx = checksum-1; 文字キー= null; ブールフラグ= false; for(entry <character、integer> item:map.entryset()){if(checksum%2 == 0){for(int i = 0; i <item.getValue()/2; i ++){temp.setcharat(begidx ++、item.getkey()); temp.setcharat(endidx--、item.getKey()); }} else {if(item.getValue()%2 == 0){for(int i = 0; i <item.getValue()/2; i ++){temp.setcharat(begidx ++、item.getKey()); temp.setcharat(endidx--、item.getKey()); }} else {key = item.getKey(); flag = true; 続く; }}} if(flag){for(int i = 0; i <map.get(key); i ++){temp.setcharat(begidx ++、key); }} return temp.tostring();} public static void main(string [] args){backtext bt = new backtext( "112233455667788890"); if(!bt.isbacktext())system.out.println( "该字符串不是回文字"); else system.out.println( "该字符串是回文字"); 文字列dest = new String(); system.out.println( "开始转换..."); dest = bt.convert(); System.out.print( "转换后的结果为:"); System.out.println(dest); }}以上所述是小编给大家介绍的java(java版本)、希望对大家有所帮助、如果大家有任何疑问欢迎给我留言、小编会及时回复大家的!