我寫了一類的程序,並且有麻煩搞清楚如何將一個八進制數轉換爲十進制數。這是我一直在努力,到目前爲止做:
import java.util.Scanner;
public class test
{
public static void main (String args[])
{
Scanner input = new Scanner(System.in);
System.out.print("Enter number: ");
int oct = input.nextInt();
int d2count = 0;
int result=0;
int d3count = 0;
int d3 = 0;
int d2 = 0;
d3 = oct;
d2 = oct;
if(oct < 1000){
while (d3 >= 100){
d3 = d3 - 100;
d3count++;
}}
if (oct < 100){
while (d2 >= 10){
d2 = d2 - 10;
d2count++;
}}
result = (d3count * 64)+(d2count * 8) + d2;
System.out.printf("%d\n",result);
}
}
所以基本上我需要一種方法來減少一些到個位數(即1337到1,3,3,7)。 我真的想用我現在擁有的東西來做,但我的做法似乎有一些我看不見的錯誤。如果我輸入一個小於100的數字,它實際上是有效的,但是當我輸入一個高於100的數字時,轉換就會在某處出現。我是新來的Java所以更基本的己技巧越好,謝謝
你真的想要結果作爲int? – hyde
你剛剛幾個小時前也問過這個問題了... http://stackoverflow.com/questions/13142977/decimal-conversion-error/13143884#13143884請不要爲你已經發布的問題開始新線程 –