나는 입력 한 이진수를 10 진수로 변환하는 프로그램을 작성하는 초보 프로그래머입니다. 내가 말할 수있는 한, 수학과 코드는 옳으며 컴파일 오류는 반환되지 않지만 출력되는 숫자는 올바른 십진수가 아닙니다. 당신이 줄 수2 진수에서 10 진수로 변환
String num;
double result = 0;
do {
Scanner in = new Scanner(System.in);
System.out.println("Please enter a binary number or enter 'quit' to quit: ");
num = in.nextLine();
int l = num.length();
if (num.indexOf("0")==-1 || num.indexOf("1")==-1){
System.out.println("You did not enter a binary number.");
}
for (int i = 0; i < l; i++)
{
result = result + (num.charAt(i) * Math.pow(2, (l - i)));
}
System.out.println("The resulting decimal number is: " +result);
} while (!num.equals("quit"));
if (num.equals("quit")){
System.out.println("You chose to exit the program.");
return;
}
어떤 도움이 많이 주시면 감사하겠습니다 다음과 같이 내 코드입니다. 나는 가능한 한 명확한 질문을하려고 노력했으나 질문이 있으면 최선을 다해 답변하려고 노력할 것입니다. 나는 오랫동안 그렇게 해왔다. 내가 필요로하는 것은 누군가가 그것을 살펴보고 내가 어딘가에서 만든 오류를 발견 할 수 있기를 바랍니다.
, 당신이 실제로 문자를 "변환"하는 좋은 생각이다 2. – dnault