2016-04-09 22 views
4

私は大きな数のJavaで問題に取り組んでいます。上記のコード行のためのint型からint型への変換が動作しない

int temp =0; 
long last = 218212982912L; 
temp = (int) last%10; 
last = last/10; 

私は、最初の反復で

temp = -4 

を取得します。私は問題が何であるか分かりません。私はオンラインで利用可能な多くのソリューションを試しました。 last%10

intへのキャストの周り

+1

セミコロンがありません2行目:これは私が知っているか分からないpy /あなたのプロジェクトから貼り付けて、私はあなたの問題を引き起こす可能性があるかどうかは分かりませんが、ただ言っています。 – Zulfe

+0

コードはコンパイルされません。番号に「L」を追加する必要があります。 – Bohemian

+0

ありがとうございます。これはクエストのためにここに入力したコードの一部です。 – denis

答えて

5

入れ括弧は、剰余演算の前に適用されている

+0

ありがとうございます。それは – denis

+1

@denisがうまくいきました – nhouser9

1

あなたが得ることができる最後の正が2,147,483,647であり、あなたが明示的にintに大きな数を変換する際に、あなたが得ますあなたが余分なカッコを入れた場合、最初に長い操作が実行され(intメモリ空間に適合するlong値が小さくなります)、それをintにキャストすることができます。

関連する問題