こんにちは私はjavaに慣れていないので、問題の答えが見つかるといいのですが。対応する値(各文字のUnicode値)を取得し、その値を別のハッシュマップに取得し、そこから対応する値(異なる言語の同じ文字のUnicode値)を取得します。これを3番目のハッシュマップに取得し、対応するキーを取得する必要があります。 (対応する文字)。最初の2つのマッピングは正常に機能していますが、3番目のハッシュマップにマッピングすると、カンナダ(インド言語)の文字であるキーの代わりにnullが返されます。このプログラムは、ある言語のファイルを別の言語に変換します。 。
オブジェクトx=kannadahash.get( "w"); 文字の代わりにnullを取得している部分です
私が書いたコード:
これを別の方法で行う他の提案も歓迎します。よろしくお願いします。
import java.util.*;
import java.util.Properties;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Set;
import java.util.Enumeration;
import java.util.Collections;
public class Hashmap1 {
public static void main(String[] args) throws Exception
HashMap hindihash=new HashMap();
hindihash.put("अ",905);
hindihash.put("आ",906);
HashMap kannadahash=new HashMap();
kannadahash.put("ಅ","C85" );
kannadahash.put("ಆ","C86");
HashMap hkhash = new HashMap();
hkhash.put(905,"C85" );
hkhash.put(906,"C86");
File f = new File("D:/Hello.txt");
if (!f.exists() && f.length() < 0)
{
System.out.println("The specified file does not exist");
}
else
{
FileReader fr = new FileReader(f);
BufferedReader reader = new BufferedReader(fr);
String st = " ";
while ((st = reader.readLine()) != null)
{
Object v = hindihash.get(st);
Object w=hkhash.get(v);
if(w!=null)
{
System.out.println(" "+w.toString());
}
else
{
System.out.println("There is no key named " +
"in the HashMap.");
}
Object x=kannadahash.get("w");
if(x!=null)
{
System.out.println(" "+x.toString());
}
else
{
System.out.println("There is no key named " +
"in the HashMap.");
}
}
}
}