Kattis问题:Oktalni不适用于所有输入

时间:2019-01-24 23:28:29

标签: java kattis

我正在尝试解决Kattis上的以下问题,该问题采用二进制数字并将此数字转换为八进制。我尝试了许多输入(最多30个二进制数字),并且我尝试过的每个输入似乎都可以正确转换为八进制。但是,使用Kattis测试它会在测试不同测试用例的大约一半过程中产生“错误答案”消息。我的代码附在下面。
有人知道可以解决此问题的任何输入失败吗?谢谢!

import java.util.Scanner;
import java.math.*;
public class Oktalni{
    public static void main (String[] args)
    {
        Scanner sc = new Scanner(System.in);
        String binNumeral = sc.nextLine();
        double decSum = 0.0;
        //double decSum = 0.0;
        //Iterate through the string, processing characters and adding the sum in decimal
        int currIndex = 0;
   for (int i=binNumeral.length();i >0; i--)
    {
        if (binNumeral.charAt(currIndex)=='1')
        {
            decSum = decSum + 1*(Math.pow(2.0,(i-1))); 
            currIndex++;
        }
        else if (binNumeral.charAt(currIndex)=='0')
        {
            decSum = decSum +0*(Math.pow(2.0,i)) ;
            currIndex++;
        }
        else
        {
            //do nothing
       }
    }

    //Convert from decimal to octal
    BigInteger octSum = BigDecimal.valueOf(decSum).toBigInteger();
    System.out.println(octSum.toString(8));
    }
}

0 个答案:

没有答案