黑马程序员技术交流社区
标题:
请各位大神解惑,真的是不会呀,基础太差。
[打印本页]
作者:
时光海苔丶
时间:
2015-8-8 21:03
标题:
请各位大神解惑,真的是不会呀,基础太差。
题目是:有abcd1234顺序的一组数字字母组合,现在我想把abcd变成相对应的大写字母,并且倒序排列,而12344个数字作为2的幂数相加并输出结果
作者:
耀阳圣尊
时间:
2015-8-10 10:37
你可以先做一个判断如果是字母你可以取他的ASCII值对应的加上就好、如果只数字你就作为2的幂数相加,之后再调用revser()方法,倒叙输出就好。
作者:
黄蒙
时间:
2015-8-10 12:07
如果给出来的是字符串可以先转换成字符数组,然后再判断每个元素是否是字母,判断完字母后取大写后倒写变回字符串,剩余的数字我就不多说了。。
作者:
wode1311
时间:
2015-8-10 19:59
如楼上分析,代码如下:
/**
* 有abcd1234顺序的一组数字字母组合,
* 现在我想把abcd变成相对应的大写字母,并且倒序排列,
* 而12344个数字作为2的幂数相加并输出结果
*
*/
public class StringDemo {
public static void main(String[] args) {
String s="abcd1234";
int sum=0;
char[] c=s.toCharArray();
StringBuffer sb=new StringBuffer();
for(int i=0;i<c.length;i++){
if(c[i]>='a' && c[i]<='z'){ //判断是字母的话,就添加到StringBuffer里
sb.append(c[i]);
}
else if(c[i]>='0' && c[i]<='9'){
int temp=Integer.parseInt(String.valueOf(c[i])); //判断是数字就转型,然后运算
sum+=Math.pow(2, temp);
}
}
System.out.println("字母翻转后的结果是:"+sb.reverse());
System.out.println("数字作为2的幂数之和为:"+sum);
}
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2