BigInteger para inteiro

Pessoal eu fiz um programa para calcular a potencia de 2 elevado a mil. o resultado saiu… mas preciso pegar cada numero e somar eles para dar um total.
E tambem sei que para transportar um numero de BigInteger para int é facil.

BigInteger bi = new BigInteger("2");
bi.pow(1000);
bi.isValue();
System.out.println(bi);

Agora eu preciso inserir dessa forma. Pegar do arquivo o numero e dividir unitariamente… e depois somar para dar o resultado final.
Fiz este codigo:

import java.math.BigInteger;
import java.util.Scanner;
import java.io.File;
import java.io.*;


public class scan{
	public static void main(String args[]){
	
    BigInteger bi = new BigInteger("2");
    int soma = 0;
   
    
     
     try{
     FileWriter file = new FileWriter("C:\\Renato.txt");
     PrintWriter out = new PrintWriter(file);
     out.println(bi.pow(1000));
     out.close(); 	
     Scanner scan = new Scanner(new File("file"));	
     	while(scan.hasNextBigInteger()){
     	  int x = Integer.parseInt(scan.nextInt());
     		soma += x;
     	}
     	
     }catch(Exception e){
     	System.out.println(e);
     }
	
	
	}
}

Mas ta dando erro aqui.

int x = Integer.parseInt(scan.nextInt());

Alguem pode dar uma luz?
grato…

Gollun,

o metodo nextInt já retorna um int não precisa usar um parseInt

Olá,

por que, ao invés de usar um arquivo, vc não transforma o BigInteger numa String, depois em array de chars e itera nele somando?

Acho q seria mais simples de implementar.

Agradeço aos dois que responderam a minha duvida. Bom. Mas rafagil eu tentei ja fazer com string mas deu maior pau. tipo exception Format. Então refiz este codigo…

mas e ae resolveu o prob? :smiley:
se sim coloca resolvido ae :wink:

turma deu mais ou menos certo.
Falta da o resultado da soma.
Ele cria o arquivo poem o resultado da potencia mas na hora de mostra a resposta da soma da zero.
Como posso corrigir isso?
Para mim isso ta certo.

turma deu mais ou menos certo.
Falta da o resultado da soma.
Ele cria o arquivo poem o resultado da potencia mas na hora de mostra a resposta da soma da zero.
Como posso corrigir isso?
Para mim isso ta certo.