8進数を通常の10進数に変更しようとしていますが、ここからコードがどこに行くのか分かりません。私がしようとしたのは、intを文字列に変更し、個々の文字を使って各場所の基数10の数字を作成することでしたが、動作しません。8進数を基数10に変換するJava
import java.util.Scanner;
import java.lang.Math;
class Lesson_1011_Activity{
public static void main(String[] args)
{
Scanner s = new Scanner (System.in);
System.out.println("Enter octal with less than 9 digits");
int octal = s.nextInt();
String ocStr = Integer.toString(octal);
int ocLen = ocStr.length();
int flag = 0;
int baseTen = 0;
char temp;
int power = ocLen - 1;
Double tempDub;
if (ocStr.contains("8") || ocStr.contains("9") || ocStr.length()>8){
flag++;
System.out.println("ERROR: Incorrect Octal Format");
}
if (flag<1){
for (int i = ocLen-1; i >0; i--){
temp = ocStr.charAt(i);
System.out.println(temp);
tempDub = 1.0*Character.getNumericValue(temp);
System.out.println(tempDub);
tempDub = java.lang.Math.pow(tempDub,power);
System.out.println(tempDub);
int tempInt = Integer.valueOf(tempDub.intValue());
System.out.println("Changed Character is: " + tempDub);
baseTen = baseTen + tempInt;
System.out.println("New answer so far is: " + baseTen);
power--;
}
System.out.println(baseTen);
}
}
}
Integer.parseIntは、すでに独自に進値を解析することができます。 https://stackoverflow.com/a/11377988/2308683 –
ありがとうございました!それらはそれらが私の記憶の中でそれらを保つことを保証するのに十分使用されると思いますか? –
あなたは何を意味するのかよく分かりません。組み込みメソッドはおそらくあなた自身の実装よりも良いでしょう –