簡體   English   中英

輸入字符串並轉換為ASCII

[英]Inputting String and Convert to ASCII

我的問題是,當我輸入“ b”時,它可以正確轉換,但是當我輸入其他字母時,它僅顯示“ b”的轉換

char ch = 'b';
int ascii = ch;
int castAscii = (int) ch;
DisplayText.setText(UserInput.getText() + " = " + castAscii); 

這是因為您僅將字符b轉換為它的ascii值,而不轉換為實際的用戶輸入。 假設UserInput.getText()返回用戶定義的字符為character而不是string:

int castAscii = (int) UserInput.getText();
DisplayText.setText(UserInput.getText() + " = " + castAscii); 

如果UserInput.getText()返回一個字符串,則可以將其轉換為字符數組,然后對其進行迭代以合並輸出。

String userInput = UserInput.getText();
String output = userInput + "=";
for (int i = 0; i < userInput.length(); i++) {
    int castAscii = (int) userInput.toCharArray()[i];
    output  += castAscii;
    if (i < userInput.length()) {
        output += ",";
    } 
}
DisplayText.setText(output); 

使用諸如apache commons-lang之類的框架將是一個更優雅的解決方案,但這將起作用。

設置ch ='b'。因此,總是轉換“ b”而忽略輸入。

您必須將ch設置為用戶輸入的內容。

正如我在評論中提到的那樣,這是一個示例代碼,用於闡明該過程。

    String s = "hello";
    char[] chars = s.toCharArray();
    for (int i = 0; i < chars.length; i++) {
        System.out.println(chars[i]);
        int ascii = (int) chars[i];
        System.out.println(ascii);
    }

你可以寫旁邊字符串scanner.nextline(),而不是“你好” s來獲取用戶的字符串。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM