在指定字符串中打印最小和最大的回文词的Java程序

1 说明

在此程序中,我们需要找到给定字符串中存在的最小和最大回文词。

Wow you own kayak

在上面的示例中,哇代表最小的回文,而皮艇则代表最大的回文。完成此任务的方法之一是将字符串拆分为单词。然后,检查单词是否是回文。然后,比较它们的长度以找出最小和最大回文词。

2 算法思路

main()函数:

  • 步骤1:开始
  • 步骤2: 定义String string = "Wow you own kayak "
  • 第3步:定义word = " ", smallPalin = " ", bigPalin = " "
  • 步骤4:定义String words[]
  • 步骤5:设定 temp = 0, count = 0
  • 步骤6:将字符串转换为小写
  • 步骤7:string = string + " "
  • 步骤8:设定i = 0。直到i <string.length()为止,将步骤9重复到步骤11
  • 步骤9:将字符串分割成单词。
  • 步骤10: IF(string.charAt(i)!='')然后
    word = word + string.charAt(i)
    否则
    words [temp] = word
    temp = temp + 1
    word =“”
  • 步骤11: i = i + 1
  • 步骤12:设定i = 0。直到i <temp为止,将步骤13重复到步骤17
  • 步骤13: IF(isPalindrome(words [i]))然后
    count = count +1
    转到步骤14
  • 步骤14: IF(count == 1)
  • smallPalin = bigPalin = words [i]
    否则转到步骤15和步骤16
  • 步骤15:如果smallPalin的长度大于单词[i]的长度,则
    smallPalin = words [i]
  • 步骤16:如果bigPalin的长度小于单词[i]的长度,则
    bigPalin = words [i]
  • 步骤17: i = i + 1
  • 步骤18:如果IF(count == 0),则打印“No palindrome is present in the given string”,
    否则打印smallPalin,bigPalin
  • 步骤19:结束

isPalindrome(String a)函数:

  • 步骤1:开始
  • 步骤2:SET flag = true
  • 步骤3:SET i=0. REPEAT
  • 步骤4到
  • 步骤5直到i <a.length()/ 2直到
  • 步骤6:IF(a.charAt(i)!= a.charAt(a.length()-i-1)然后
    flag = false
    break
  • 步骤7 :i = i + 1
  • 步骤8:返回标志
  • 步骤9:结束

3 程序实现

/**
 * 一点教程网: http://www.yiidian.com
 */
import java.io.BufferedReader;  
import java.io.FileReader;  
  
public class CountWordFile  
{  
    public static void main(String[] args) throws Exception {  
        String line;  
        int count = 0;  
  
        //Opens a file in read mode  
        FileReader file = new FileReader("data.txt ");  
        BufferedReader br = new BufferedReader(file);  
  
        //Gets each line till end of file is reached  
        while((line = br.readLine()) != null) {  
            //Splits each line into words  
            String words[] = line.split("");  
            //Counts each word  
            count = count + words.length;  
        }  
  
        System.out.println("Number of words present in given file: " + count);  
        br.close();  
    }  
}  

以上代码输出结果为:

Number of words present in given file: 63

 

热门文章

优秀文章