在指定字符串中打印最小和最大的回文词的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
热门文章
优秀文章