A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

题目是:有abcd1234顺序的一组数字字母组合,现在我想把abcd变成相对应的大写字母,并且倒序排列,而12344个数字作为2的幂数相加并输出结果

3 个回复

倒序浏览
你可以先做一个判断如果是字母你可以取他的ASCII值对应的加上就好、如果只数字你就作为2的幂数相加,之后再调用revser()方法,倒叙输出就好。
回复 使用道具 举报
如果给出来的是字符串可以先转换成字符数组,然后再判断每个元素是否是字母,判断完字母后取大写后倒写变回字符串,剩余的数字我就不多说了。。
回复 使用道具 举报
如楼上分析,代码如下:

  1. /**
  2. * 有abcd1234顺序的一组数字字母组合,
  3. * 现在我想把abcd变成相对应的大写字母,并且倒序排列,
  4. * 而12344个数字作为2的幂数相加并输出结果
  5. *
  6. */
  7. public class StringDemo {

  8. public static void main(String[] args) {

  9. String s="abcd1234";
  10. int sum=0;

  11. char[] c=s.toCharArray();
  12. StringBuffer sb=new StringBuffer();

  13. for(int i=0;i<c.length;i++){
  14. if(c[i]>='a' && c[i]<='z'){ //判断是字母的话,就添加到StringBuffer里
  15. sb.append(c[i]);
  16. }
  17. else if(c[i]>='0' && c[i]<='9'){
  18. int temp=Integer.parseInt(String.valueOf(c[i])); //判断是数字就转型,然后运算
  19. sum+=Math.pow(2, temp);
  20. }
  21. }

  22. System.out.println("字母翻转后的结果是:"+sb.reverse());
  23. System.out.println("数字作为2的幂数之和为:"+sum);
  24. }
  25. }
复制代码

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马