【发布时间】:2016-06-09 03:12:03
【问题描述】:
如何将 char[](char 数组)的每一项转换为其 ascii 代码? char_arr[i].charAt(0) 不起作用,因为该方法不存在。我不能对char_arr[i] 使用toString 方法。
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");
}
}
}
【问题讨论】:
-
我相信你可以投'int'
-
"ASCII" 是错误的术语。 Java 字符串是 Unicode/UTF-16 代码单元 (
Char) 的计数序列。请记住,现实世界的字符串(例如包含emoticons)比您的算法可以处理的要复杂得多。请参阅StringBuilder.reverse 的警告。