
java中ASCII表的字母和数字相互转化的问题
如题目,现在我给出一个字符串,比如:“gjalg”,经过以下过程:1、将这里面的每一个字母先转化成ascii对应的数字;2、每个转化后的数字进行某些数学运算,比如+3;3...
如题目,现在我给出一个字符串,比如:“gjalg”,经过以下过程:1、将这里面的每一个字母先转化成ascii对应的数字;2、每个转化后的数字进行某些数学运算,比如+3;3、运算以后再转化成相应的字母;4、将新的字符串输出。ascii的字母和数字相互转化不是很懂,所以要有代码,谢谢
展开
3个回答
展开全部
public class welcome {
public static void main(String[] args) {
String str="gjalg";
char[] cha=str.toCharArray();
for(char s:cha){
System.out.println("ascii的值"+s);
System.out.println("+3后的字母"+(char)(s+3));
}
}
}
你可以看一下ascii码表中对应的值
public static void main(String[] args) {
String str="gjalg";
char[] cha=str.toCharArray();
for(char s:cha){
System.out.println("ascii的值"+s);
System.out.println("+3后的字母"+(char)(s+3));
}
}
}
你可以看一下ascii码表中对应的值
追问
for(char s:cha)这个for循环可以解释一下吗?没见过这种形式的,不是很懂,谢谢
追答
这是jdk1.5中的新特性之一,增强型for循环,就是遍历字符数组cha,从cha[0]开始一一赋值给新定义的变量s,直到数组遍历要并跳出循环。还不理解的话你可以查资料。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-10-19
展开全部
public static void main(String[] args) {
String str="gjalg";
for(int i=0; i<str.length(); i++){
char c = str.charAt(i);
System.out.print("ascii的值"+( (byte)c )+", ");
System.out.println(c+"+3后的字母"+(char)(c+3));
}
}
String str="gjalg";
for(int i=0; i<str.length(); i++){
char c = str.charAt(i);
System.out.print("ascii的值"+( (byte)c )+", ");
System.out.println(c+"+3后的字母"+(char)(c+3));
}
}
追问
这里是每个字符的输出,要怎样把它变成字符串类型输出呢
追答
public static void main(String[] args) {
String str="gjalg";
StringBuilder sb = new StringBuilder();
for(int i=0; i<str.length(); i++){
char c = str.charAt(i);
sb.append((byte)c );
sb.append(", ");
}
System.out.print(str +" 对应的ascii值 "+sb.toString());
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1,2 都没什么问题,3做的话要小心,ascii有很多不可见字符和控制字符,如果字符加了以后超出就惨了。不要随便这样做。
追问
要这样做其实应该是没有问题的,只要加一个判断就行了,没超出就执行这个操作,如果超出了就执行另外的操作
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询