频道栏目
首页 > 程序开发 > 软件开发 > Java > 正文
Java 源代码 计算出拼音的声调字母是哪个
2012-12-28 10:50:49      个评论      
收藏   我要投稿
import java.io.*;//导入操作要用到的类

 

 

public class main {

public static void main(String args[]) {

File file = new File("c:/test.txt");// 源文件位置

FileReader fr;

try {

fr = new FileReader(file);

BufferedReader in = new BufferedReader(fr);// 包装文件输入流,可整行读取

String line;  www.2cto.com

try {

while ((line = in.readLine()) != null) {

String a = pinyin(line);

int shengdiaoLetter = Integer.parseInt(a.substring(

a.length() - 1, a.length()));

a = a.substring(0, a.length() - 1) + " "

+ a.substring(shengdiaoLetter, shengdiaoLetter + 1);

System.out.println(a);

}

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

} catch (FileNotFoundException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}// 创建文件输入流

}

 

 

private static String pinyin(String input) {

int position = 0;

int onlyaeiou = 0;

input = input.toLowerCase();

// 单个韵母不必说。 (单个的韵母,当然就标它上面了)

if (input.contains("a")) {

onlyaeiou++;

}

if (input.contains("e")) {

onlyaeiou++;

}

if (input.contains("i")) {

onlyaeiou++;

}

if (input.contains("o")) {

onlyaeiou++;

}

if (input.contains("u")) {

onlyaeiou++;

}

if (input.contains("v")) {

onlyaeiou++;

}

if (onlyaeiou == 1) {

if (input.contains("a")) {

position = input.indexOf("a");

}

if (input.contains("e")) {

position = input.indexOf("e");

}

if (input.contains("i")) {

position = input.indexOf("i");

}

if (input.contains("o")) {

position = input.indexOf("o");

}

if (input.contains("u")) {

position = input.indexOf("u");

}

if (input.contains("v")) {

position = input.indexOf("v");

}

return input + position;

}

 

 

if (input.contains("a")) {

position = input.indexOf("a");

return input + position;

}

// 没有a母找o e ,

else if (input.contains("o")) {

position = input.indexOf("o");

return input + position;

} else if (input.contains("e")) {

position = input.indexOf("e");

return input + position;

}

// iu 并列标在后,

if (input.contains("iu")) {

position = input.indexOf("iu") + 1;

return input + position;

}

if (input.contains("a")) {

position = input.indexOf("a");

return input + position;

}

if (input.contains("e")) {

position = input.indexOf("e");

return input + position;

}

if (input.contains("i")) {

position = input.indexOf("i");

return input + position;

}

if (input.contains("o")) {

position = input.indexOf("o");

return input + position;

}

if (input.contains("u")) {

position = input.indexOf("u");

return input + position;

}

if (input.contains("v")) {

position = input.indexOf("v");

return input + position;

}

return input;

}

}

点击复制链接 与好友分享!回本站首页
上一篇:PipedInputStream类 和 PipedOutputStream类 的简单介绍和代码演示
下一篇:Java进程在Unix平台上中文乱码问题
相关文章
图文推荐
点击排行

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站