javaの組み込み関数を使用せずにStringをlongに変換することは可能ですか?例えばStringをlongに変換する
:
String s = "35";
long ans = Long.parseLong(s);
がどのように使用しなくても同じタスクを実行することができるJavaのLong.parseLong function
javaの組み込み関数を使用せずにStringをlongに変換することは可能ですか?例えばStringをlongに変換する
:
String s = "35";
long ans = Long.parseLong(s);
がどのように使用しなくても同じタスクを実行することができるJavaのLong.parseLong function
はい、それは可能です。伝統的なやり方でやってください。 String.charAt()を使用して、単位の各文字を前方に取得し、10の倍数で掛けて、文字列の先頭に達するまで合計します。もちろん、あなたは特別な事件の世話をする必要があります。
はい:
public static void main(String[] args) {
String s = "35";
long ans = parse(s);
}
public final static long parse(CharSequence d) {
int l = d.length();
boolean n= d.charAt(0) == '-';
long v = 0;
int p = n?1:0;
do {
v *= 10;
int i = d.charAt(p) - 48;
if (i < 0 | i > 9)
throw new NumberFormatException(d+"");
v += i;
p++;
} while (l > p);
return n?-v:v;
}
は、なぜあなたはしたいですか?この宿題ですか?その場合は宿題タグを追加してください。 –
parseLong();-)のソースコードを見てください –
はい、 'parseLong()'を書き換えることができます。 – SLaks