Exception e Scanner

2 respostas
G

Pessoal agora começo a pegar o jeito de programação. To entrando em coisas novas que nunca tinha usado como scanner e bigInteger.
Então vai lá. Eu desenvolvir este codigo abaixo:

import java.math.BigInteger;
import java.util.Scanner;

public class potencia{
  public static void main(String args[]){
      int x =0,soma=0;
      
     System.out.println("Potencia de um numero elevado a 1000");
     int o;
     BigInteger bi = new BigInteger("2");
     bi = bi.pow(1000);
     String num = "" + bi;
    try{
     Scanner scan = new Scanner(num);
     while(scan.hasNext()){
       x = Integer.parseInt(scan.next());
         soma += x;
     }
    }catch(Exception e){
        e.printStackTrace();
     } 
      System.out.println(soma);
  }
}

Ele ta dando uma exception tipo format. Não sei oque ele quis dizer… To tentando fazer a soma dos numeros contidos dentro da variavel num…
com numeros pequenos foi. mas quando entrou o BigInteger. deu de louco. Alguem saberia corrigir isso? Será que ta faltando alguma biblioteca ?

Grato se ajudarem.

2 Respostas

C

Oi gollun,

nessa linha:

x = Integer.parseInt(scan.next());

você está tentando fazer o parse de um número maior do que um inteiro suporta. Como você está trabalhando com BigInterger, você deve continuar trabalhando com o mesmo, a não ser se você tiver a certeza de que irá trabalhar com números que se encontram na faixa permitida do tipo inteiro.

G

Pessoal quando eu coloco um bigInteger no scanner ele cria uma exception justamente porque só aceita string ou arquivo. então pensei.
em usar string para aceitar… mas acho que não foi uma boa escolha para entendimento do algoritmo. Será que arquivo sai melhor?
Aceito sugestão!!!
grato.

Criado 14 de agosto de 2007
Ultima resposta 15 de ago. de 2007
Respostas 2
Participantes 2