cning_123 2016-03-11 14:46 采纳率: 0%
浏览 1595

蓝桥杯 java基础试题关于进制转换的

图片说明
这道题为什么我的代码评测出现错误输入输出啊?可以帮我找找有啥潜在的问题么?谢谢了。
import java.util.Scanner;

public class Main {
public static void from16to10(String str){
int num = 0;
int j=0;
for(int i=str.length()-1;i>=0;i--){

        if(str.charAt(i)<'A'){
            num +=((str.charAt(i)-'0')*Math.pow(16, j));
        }
        else{
            num+=((str.charAt(i)-'A'+10)*Math.pow(16, j));
        }
            j++;
        }


    System.out.println(num);
    }



public static void main(String args[]){
    Scanner sc=new Scanner(System.in);
    String str=sc.nextLine();
    from16to10(str);
}

}这是评测结果显示有一个错误的例子。图片说明

  • 写回答

2条回答

  • threenewbee 2016-03-11 18:49
    关注

    看了下,错误是要求不超过8位,所以需要用uint。超过7ffffff,结果都是2147483647

    评论

报告相同问题?

悬赏问题

  • ¥15 gg加速器加速游戏时,提示不是x86架构
  • ¥15 python按要求编写程序
  • ¥15 Python输入字符串转化为列表排序具体见图,严格按照输入
  • ¥20 XP系统在重新启动后进不去桌面,一直黑屏。
  • ¥15 opencv图像处理,需要四个处理结果图
  • ¥15 无线移动边缘计算系统中的系统模型
  • ¥15 深度学习中的画图问题
  • ¥15 java报错:使用mybatis plus查询一个只返回一条数据的sql,却报错返回了1000多条
  • ¥15 Python报错怎么解决
  • ¥15 simulink如何调用DLL文件