2016-04-05 16 views
-1
nicht zu lösen

Hier ist mein Code, der einen Text aus dem ersten Textfeld in Pashto, aber in Englisch Syntax und konvertiert in Pashto-Syntax durch Klicken auf die Schaltfläche, läuft es cool , aber das Problem ist, dass wenn konvertiert am Ende zeigt es Null am Ende jeder Zeile und es zeigte auch nicht das letzte Zeichen in pashto Und für das gleiche Programm, wenn Sie einige einfache Möglichkeit haben, dann lass es mich wissen.Android: kein Fehler, aber die Nulloption am Ende der Zeile

Umgewandelte Sprache

enter image description here

package aims.khan.trans; 

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

import android.os.Bundle; 
import android.app.Activity; 
import android.view.Menu; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.Button; 
import android.widget.EditText; 

public class MainActivity extends Activity { 

    Button btnconvert; 
    EditText txtconvertfrom, txtconvertto; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     btnconvert = (Button) findViewById(R.id.btnconvert); 
     txtconvertfrom = (EditText) findViewById(R.id.txtconvertfrom); 
     txtconvertto = (EditText) findViewById(R.id.txtconvertto); 

     btnconvert.setOnClickListener(new OnClickListener() { 

      @Override 
      public void onClick(View arg0) { 

       String a = Conversion(); 
       txtconvertto.setText(a); 

      } 
     }); 
    } 

    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     // Inflate the menu; this adds items to the action bar if it is present. 
     getMenuInflater().inflate(R.menu.main, menu); 
     return true; 
    } 

    public String Conversion() { 
     String a = null; 
     Map<String, String> map = new HashMap<String, String>(); 
     map.put(" ", "\u0020"); 
     map.put("A", "\u0627"); 
     map.put("a", "\u0627"); 
     map.put("B", "\u0628"); 
     map.put("b", "\u0628"); 
     // map.put("C" , "\u0686"); 
     // map.put("c" , "\u0686"); 
     map.put("CH", "\u0686"); 
     map.put("ch", "\u0686"); 
     map.put("D", "\u062F"); 
     map.put("d", "\u062F"); 
     map.put("E", "\u064A"); 
     map.put("e", "\u064A"); 
     map.put("F", "\u0641"); 
     map.put("f", "\u0641"); 
     map.put("G", "\u06AB"); 
     map.put("g", "\u06AB"); 
     map.put("H", "\u062D"); 
     map.put("h", "\u062D"); 
     map.put("I", "\u064A"); 
     map.put("i", "\u064A"); 
     map.put("J", "\u062C"); 
     map.put("j", "\u062C"); 
     map.put("K", "\u0643"); 
     map.put("k", "\u0643"); 
     map.put("L", "\u0644"); 
     map.put("l", "\u0644"); 
     map.put("M", "\u0645"); 
     map.put("m", "\u0645"); 
     map.put("N", "\u0646"); 
     map.put("n", "\u0646"); 
     map.put("O", "\u0648"); 
     map.put("o", "\u0648"); 
     map.put("P", "\u0628"); 
     map.put("p", "\u0628"); 
     map.put("Q", "\u0642"); 
     map.put("q", "\u0642"); 
     map.put("R", "\u0631"); 
     map.put("r", "\u0631"); 
     map.put("S", "\u0633"); 
     map.put("s", "\u0633"); 
     map.put("sh", "\u0634"); 
     map.put("T", "\u062A"); 
     map.put("t", "\u062A"); 
     map.put("U", "\u0648"); 
     map.put("u", "\u0648"); 
     map.put("V", "\u0648"); 
     map.put("v", "\u0648"); 
     map.put("W", "\u0648"); 
     map.put("w", "\u0648"); 
     map.put("X", "\u0633"); 
     map.put("x", "\u0633"); 
     map.put("Y", "\u064A"); 
     map.put("y", "\u064A"); 
     map.put("Z", "\u0632"); 
     map.put("z", "\u0632"); 
     map.put("TH", "\u062A"); 
     map.put("th", "\u062A"); 
     String convert = txtconvertfrom.getText().toString(); 
     char[] convert2 = convert.toCharArray(); 

     if (convert2.length <= 1) { 

      a += map.get(String.valueOf(convert2)); 
     } else { 
      for (int i = 0; i < convert2.length - 1; i++) { 

       switch (convert2[i]) { 
       case 'c': 
        switch (convert2[i + 1]) { 
        case 'h': 
         a += map.get(String.valueOf("ch")); 
         i++; 
         continue; 
        case 'k': 
         a += map.get(String.valueOf("k")); 
         i++; 
         continue; 

        default: 
         break; 
        } 
       case 's': 
        switch (convert2[i + 1]) { 
        case 'h': 
         a += map.get(String.valueOf("sh")); 
         i++; 
         continue; 

        default: 
         break; 
        } 
       default: 
        a += map.get(String.valueOf(convert2[i])); 
        break; 
       } 

      } 
     } 
     return a; 
    } 
} 
+0

Leistung zu verbessern: es genügt, die ** Karte zu erklären ** als Mitglied (= global) Variable 'static final Map Karte = new HashMap (); 'und dann initialisiere es einmal, z in 'onCreate()' – 0X0nosugar

+0

danke saumik Ich habe es getan –

Antwort

0

String a = null;

Wechsel zu

String a = "";

Und versuchen

+0

danke, es hat funktioniert –

Verwandte Themen