如何将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");
}
}
}
答案 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));
}