工具程序

本文介绍了一个简单的Java程序,该程序能够将日语字符(包括平假名、片假名及部分汉字)转换为其对应的罗马音表示,并同时提供平假名与片假名之间的互转。通过使用哈希映射,程序实现了对输入字符串中每个字符的有效查找与转换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

package Test;

import java.util.HashMap;
import java.util.Map;

public class Japanese {
    public static void main(String[] args){
        String str = "テスト";
        System.out.println(str);
        System.out.println(convert(str));
    }
   
    public static String convert(String str){
        String[][] con1 = {
                {"あ", "ア", "a", "安"},        {"い", "イ", "i", "以"},        {"う", "ウ", "u", "宇"},        {"え", "エ", "e", "衣"},        {"お", "オ", "o", "於"},
                {"か", "カ", "ka", "加"},        {"き", "キ", "ki", "幾"},        {"く", "ク", "ku", "久"},        {"け", "ケ", "ke", "計"},        {"こ", "コ", "ko", "己"},
                {"さ", "サ", "sa", "佐"},        {"し", "シ", "shi", "之"},    {"す", "ス", "su", "寸"},        {"せ", "セ", "se", "世"},    {"そ", "ソ", "so", "曽"},
                {"た", "タ", "ta", "太"},        {"ち", "チ", "chi", "知"},    {"つ", "ツ", "tsu", "川"},    {"て", "テ", "te", "天"},        {"と", "ト", "to", "止"},
                {"な", "ナ", "na", "奈"},    {"に", "ニ", "ni", "仁"},        {"ぬ", "ヌ", "nu", "奴"},        {"ね", "ネ", "ne", "祢"},    {"の", "ノ", "no", "乃"},
                {"は", "ハ", "ha", "波"},    {"ひ", "ヒ", "hi", "比"},        {"ふ", "フ", "fu", "不"},        {"へ", "ヘ", "he", "部"},        {"ほ", "ホ", "ho", "保"},
                {"ま", "マ", "ma", "末"},        {"み", "ミ", "mi", "美"},        {"む", "ム", "mu", "武"},        {"め", "メ", "me", "女"},        {"も", "モ", "mo", "毛"},
                {"や", "ヤ", "ya", "也"},    {"い", "イ", "yi", "-"},        {"ゆ", "ユ", "yu", "由"},    {"え", "エ", "e", "-"},        {"よ", "ヨ", "yo", "与"},
                {"ら", "ラ", "ra", "良"},        {"り", "リ", "ri", "利"},        {"る", "ル", "ru", "留"},        {"れ", "レ", "re", "礼"},        {"ろ", "ロ", "ro", "呂"},
                {"わ", "ワ", "wa", "和"},        {"い", "イ", "i", "-"},        {"う", "ウ", "u", "-"},        {"え", "エ", "e", "-"},        {"を", "ヲ", "wo", "遠"},
                {"ん", "ン", "n", "无"},
               
                {"が", "ガ", "ga", "-"},    {"が", "ギ", "gi", "-"},    {"ぐ", "グ", "gu", "-"},    {"げ", "ゲ", "ge", "-"},    {"ご", "ゴ", "go", "-"},
                {"ざ", "ザ", "za", "-"},    {"じ", "ジ", "ji", "-"},    {"ず", "ズ", "zu", "-"},    {"ぜ", "ゼ", "ze", "-"},    {"ぞ", "ゾ", "zo", "-"},
                {"だ", "ダ", "da", "-"},    {"ぢ", "ヂ", "ji", "-"},    {"づ", "ヅ", "zu", "-"},    {"で", "デ", "de", "-"},    {"ど", "ド", "do", "-"},
                {"ば", "バ", "ba", "-"},    {"び", "ビ", "bi", "-"},    {"ぶ", "ブ", "bu", "-"},    {"べ", "ベ", "be", "-"},    {"ぼ", "ボ", "bo", "-"},
                {"ぱ", "パ", "pa", "-"},    {"ぴ", "ピ", "pi", "-"},    {"ぷ", "プ", "pu", "-"},    {"ぺ", "ペ", "pe", "-"},    {"ぽ", "ポ", "po", "-"},
               
                {"きゃ", "キャ", "kya", "-"},    {"きゅ", "キュ", "kyu", "-"},    {"きょ", "キョ", "kyo", "-"},
                {"しゃ", "シャ", "sha", "-"},    {"しゅ", "シュ", "shu", "-"},    {"しょ", "ショ", "sho", "-"},
                {"ちゃ", "チャ", "cha", "-"},    {"ちゅ", "チュ", "chu", "-"},    {"ちょ", "チョ", "cho", "-"},
                {"にゃ", "ニャ", "nya", "-"},    {"にゅ", "ニュ", "nyu", "-"},    {"にょ", "ニョ", "nyo", "-"},
                {"ひゃ", "ヒャ", "hya", "-"},    {"ひゅ", "ヒュ", "hyu", "-"},    {"ひょ", "ヒョ", "hyo", "-"},
                {"みゃ", "ミャ", "mya", "-"},    {"みゅ", "ミュ", "myu", "-"},    {"みょ", "ミョ", "myo", "-"},
                {"りゃ", "リャ", "rya", "-"},    {"りゅ", "リュ", "ryu", "-"},    {"りょ", "イヨ", "ryo", "-"},
                {"ぎゃ", "ギャ", "gya", "-"},    {"ぎゅ", "ギュ", "gyu", "-"},    {"ぎょ", "ギョ", "gyo", "-"},
                {"じゃ", "ジャ", "ja", "-"},    {"じゅ", "ジュ", "ju", "-"},    {"じょ", "ジョ", "jo", "-"},
                {"びゃ", "ビャ", "bya", "-"},    {"びゅ", "ビュ", "byu", "-"},    {"びょ", "ビョ", "byo", "-"},
                {"ぴゃ", "ピャ", "pya", "-"},    {"ぴゅ", "ピュ", "pyu", "-"},    {"ぴょ", "ピョ", "pyo", "-"}   
        };
       
        Map<String, String> m1 = new HashMap<String, String>();
        Map<String, String> m2 = new HashMap<String, String>();
        Map<String, String> m3 = new HashMap<String, String>();
        Map<String, String> m4 = new HashMap<String, String>();
       
        for(String[] strl : con1){
            if(!m1.containsKey(strl[0])){
                m1.put(strl[0], strl[2]);
            }
            if(!m2.containsKey(strl[1])){
                m2.put(strl[1], strl[2]);
            }
            if(!m3.containsKey(strl[0])){
                m3.put(strl[0], strl[1]);
            }
            if(!m4.containsKey(strl[1])){
                m4.put(strl[1], strl[0]);
            }
           
        }
       
        String result = "";
        String result2 = "";
        boolean ff = false;
        char[] cl = str.toCharArray();
        for(char c : cl){
            String key = "" + c;
            if(m1.containsKey(key)){
                result += m1.get(key) + " ";
                result2 += m3.get(key);
            }else if(m2.containsKey(key)){
                ff = true;
                result += m2.get(key) + " ";
                result2 += m4.get(key);
            }else{
                result += "-";
                result2 += "-";
            }
        }
        return result2 + "/r/n" + result;
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值