bigIntegerPotenzen.java 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. import javax.swing.JOptionPane;
  2. import java.util.Arrays;
  3. import flanagan.io.Db;
  4. import java.math.BigInteger;
  5. public class bigIntegerPotenzen {
  6. public static void main(String [] args) {
  7. // init variables
  8. int exponent = 0;
  9. int base = 3;
  10. BigInteger res;
  11. // get base input
  12. try {
  13. base = Db.readInt("base = ");
  14. } catch (NumberFormatException e) {
  15. Db.show("Error: no valid integer input provided");
  16. System.exit(1);
  17. }
  18. // get exponent input
  19. try {
  20. exponent = Db.readInt("exponent = ");
  21. } catch (NumberFormatException e) {
  22. Db.show("Error: no valid integer input provided");
  23. System.exit(1);
  24. }
  25. // validate that: exponent, base >= 0
  26. if (base < 0) {
  27. Db.show("Error: 'base' cannot be negative");
  28. System.exit(1);
  29. } else if (exponent < 0) {
  30. Db.show("Error: 'exponent' cannot be negative");
  31. System.exit(1);
  32. }
  33. // use big integer
  34. BigInteger bigN = BigInteger.valueOf(exponent);
  35. BigInteger bigB = BigInteger.valueOf(base);
  36. for (int n = 0; n <= exponent; n++) {
  37. res = bigB.pow(n);
  38. System.out.format("n = %d \t %d^%d \t %d (%d-digit)\n", n, base, n, res, res.toString().length());
  39. }
  40. }
  41. }