我最近在java中使用了一个成功编译的程序,但在执行过程中,输入字符串后,没有显示任何内容,允许我在执行页面上输入任何内容。程序如下: - 用户输入一个字符串,其中包含由'(#句号)表示的几个缺失字母。 程序应填写那些句号,以制作最小(按字典顺序)的回文词。如果这是不可能的......显示不可能做回文。如果我在任何地方出错,请告诉我。谢谢:))
import java.io.*;
public class JavaApplication {
static String s;
//main method
public static void main(String[] args)throws IOException{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
System.out.println("Enter the string with '.' as their missing characters:");
s=br.readLine();
int len=s.length();
String result;
if(len%2==0){
result=even();
}
else
result=odd();
System.out.println(result);
}
//Function to handle odd no. of characters
static String odd(){
int len=s.length();
int mid=(len-1)/2;
for(int i=1;i<=mid;i++){
if(s.charAt(mid-i)=='.'||s.charAt(mid+i)=='.'){
if(s.charAt(mid)=='.'){
s=s.substring(0,mid)+'a'+s.substring(mid+1);
}
if(s.charAt(mid-i)=='.'&&s.charAt(mid+i)=='.'){
s=s.substring(0,(mid-i))+'a'+s.substring((mid-i)+1,mid)+s.charAt(mid)+s.substring(mid+1,mid+i)+'a'+s.substring((mid+i)+1);
}
if(s.charAt(mid-i)=='.'){
s=s.substring(0,mid-i)+s.charAt(mid+i)+s.substring((mid-i)+1);
}
if(s.charAt(mid+i)=='.'){
s=s.substring(0,(mid+1))+s.charAt(mid-i)+s.substring((mid+1)+1);
}
}
}
String result=checkPalindrome();
return result;
}
//Function to handle even no. of characters
static String even(){
int len=s.length();
int mid2=len/2,mid1=mid2-1;
for(int i=0;i<mid2;i++){
if(s.charAt(mid1-i)=='.'||s.charAt(mid2+i)=='.'){
if(s.charAt(mid1-i)=='.'&&s.charAt(mid2+i)=='.'){
s=s.substring(0,mid1-i)+'a'+s.substring((mid1-i)+1,mid2+i)+'a'+s.substring((mid2+i)+1);
}
if(s.charAt(mid1-i)=='.'){
s=s.substring(0,mid1-i)+s.charAt(mid2+i)+s.substring((mid1-i)+1);
}
if(s.charAt(mid2+i)=='.'){
s=s.substring(0,mid2+i)+s.charAt(mid1-i)+s.substring((mid2+i)+1);
}
}
}
String result=checkPalindrome();
return result;
}
//Check if s is palindrome
static String checkPalindrome(){
String s1=s;
for(int i=0;i<s1.length();i++){
char ch=s1.charAt(i);
s1=ch+s1;
}
if(s1.equals(s))
return s1;
else{
s1="cannot form any palindrome";
return s1;
}
}
}
&#13;