将char []的每个项目转换为ASCII码

时间:2016-02-26 03:03:45

标签: java string char ascii

如何将char [](char数组)的每个项目转换为其ascii代码?由于该方法不存在,char_arr[i].charAt(0)无法正常工作。我无法将toString方法用于char_arr[i]

import java.util.Scanner;

/**
 * Created by mona on 2/25/16.
 */
public class FunnyString {
    public static void main(String[] args){
        Scanner sc= new Scanner(System.in);

        int num_str;
        num_str=sc.nextInt();
        Boolean flag=true;

        for (int i=0;i<num_str;i++){
            StringBuilder strb  = new StringBuilder(scan.nextLine());
            StringBuilder str_reverse=strb.reverse();
            Char[] strb_arr=strb.toString().toCharArray();
            Char[] strb_rev_arr=str_reverse.toString().toCharArray();
            for (int i=1; i<strb_arr.length;i++){
                if (Math.abs(strb_arr[i]-strb_arr[i-1])!=Math.abs(strb_rev_arr[i]-strb_rev_arr[i-1])){
                    flag=false;
                }
            }
        }
        if (flag==false){
            System.out.println("Not funny");
        }
        else{
            System.out.println("Funny");
        }

    }
}

4 个答案:

答案 0 :(得分:1)

您可以尝试:将其投放到int

char[] chars;
for (char aChar : chars) {
    System.out.println("chars = " + (int) aChar);
}

答案 1 :(得分:0)

遍历数组,通过强制转换将每个char值赋值给int,即

char_to_ascii[i] = (int) char_arr[i] ;

答案 2 :(得分:0)

您可以使用强制转换为整数(int),或者只将0添加到您的char。

见这个

char[] cs = {'a', 'b', 'c'};
for (Character c : cs)
{
    System.out.println(c + 0);
}

输出

97
98
99

查看给定字符{as}的ascii代码http://www.asciitable.com/

此外,您可以从数值中获取字符。

char[] cs = {'a', 'b', 'c'};
for (Character c : cs)
{
    System.out.println(c + 0);
    System.out.println( (char)(c + 0) );
}

输出

97
a
98
b
99
c

答案 3 :(得分:0)

因为char[]的元素是UTF-16代码单元,所以标准数字表示形式为反斜杠,“u”,四个十六进制数字。例如,'a'表示为'\ u0061'。

另请注意,某些Unicode代码点以两个UTF-16代码单元编码。例如,音乐四分音符“”(可能不会显示您的浏览器在此网页上使用的字体)。

for (char c : "abc123".toCharArray())
{
    System.out.println(String.format("\\u%04X", (int)c));
}