私は小さな Java プログラムに取り組んでいますが、どこかで計算がうまくいきません。私のコードは次のとおりです。
import java.io.*;
import java.util.*;
import java.text.*;
public class NumManip
{
public static void main(String args[])
{
Scanner numGetter = new Scanner(System.in);
final int MULT_1 = 9;
final int MULT_2 = 12345679;
final int MULT_3 = 1000;
int poorHatedNumber;
System.out.print("Enter a digit between 1 and 9 that you dislike: ");
poorHatedNumber = numGetter.nextInt();
int num1 = poorHatedNumber * MULT_1, num2 = num1 * MULT_2;
long num3 = num2 * MULT_3;
System.out.println();
System.out.println(" " + poorHatedNumber);
System.out.println(" " + "x" + MULT_1);
System.out.println(" __");
System.out.println(" " + num1);
System.out.println(" x" + MULT_2);
System.out.println(" __");
System.out.println(" " + num2);
System.out.println(" x" + MULT_3);
System.out.println("____________");
System.out.println(num3);
}
}
画面に num1、num2、および num3 を出力して問題を確認してみました。num1 は正しく、num2 は正しく、num3 は異常です。私の入力は 9 で、最初の計算では 9 を掛けて 81 を取得します。次に、12345679 を掛けて 999999999 を取得し、次に 1000 を掛けて -727380968 を取得します。その最後のステップの何が問題になっていますか? 私はJavaが初めてで、問題がわかりません。