2017-01-30 8 views
0

文字列全体ではなく、文字列の最後のアルファベットのみのコードを表示できます。例えば-場合、私は「A」を入力し、それは65を示しているが、私は「AB」と入力した場合、それは66を示している私は65と66ユーザーが文字列を入力したときに、EdittextにASCIIコードを表示する方法

String a = tf1.getText(); 
    byte b[]=a.getBytes(); 
    char ch[]=a.toCharArray(); 
    for(int i=0;i<ch.length;i++) 
    { 
    tf2.setText(String.valueOf(b[i])); 
    } 
+0

あなたのTF2あなたが次の文字を入れるたびに、上書きされます。これを変更して、次のASCIIコードを追加します。 – IQV

+0

@IQV - オーバーライドされていることはわかっていますが、すべての文字のコードを一度に表示するためには、どのような変更を加えたらよいでしょうか。 – Rohan

+0

@Rohanは、必要なすべての数値を含むStringに値を設定します。 –

答えて

0

の両方を表示するコードtf2.setText(String.valueOf(b[i]));ます常にテキストを単一のchar値に設定します。すべての文字コードを表示する場合は、値を連結してください。

1

テキストボックスから既存の値を取り出し、新しい値を連結してテキストボックスに再度更新する必要があります。

変更tf2.setText(String.valueOf(b[i]));tf2.setText(tf2.getText()+" "+String.valueOf(b[i]));

+0

私は追加のスペースをお勧めします: 'tf2.setText(tf2.getText()+" "+ String.valueOf(b [i]));' – IQV

+0

@IQVありがとう、答えを更新してください:) – Vijay

+0

@Vijayあなたは私の日を救った – Rohan

0

あなたが望むすべての値を持つ文字列にテキストを設定する必要があります。

String a = tf1.getText(); 
// take all the chars as int values and join them together with a space between. 
String ascii = s.chars().collect(Collectors.joining(" ")); 
tf2.setText(ascii); 
0
StringBuilder sb = new StringBuilder(""); 
st1=tf1.getText(); 
char arr[] = st1.toCharArray(); 
for (int i=0; i<arr.length; i++){ 
    iValue =(int)arr[i]; 
    sb.append(iValue+","); 
} 
tf2.setText(""+sb); 
関連する問題