Results 1 to 4 of 4
Thread: Big Integer problems
- 02-01-2012, 09:07 PM #1
Member
- Join Date
- Jan 2012
- Posts
- 8
- Rep Power
- 0
Big Integer problems
Hello, Ive been trying this project for a while now, and I can't figure out a couple of things. How could you do a conditional loop with Biginteger values?
Heres my code
Could you provide any advice on how to work around this? and what would be the equivalent of Long.MAXVAULE with BigInteger? Any help would be greatly appreciatedJava Code:import java.io.BufferedReader; import java.io.FileReader; import java.io.FileWriter; import java.io.BufferedWriter; import java.math.BigInteger; import java.util.ArrayList; public class Prime { public static void main(String[] args) { //BigInteger N = BigInteger.parseLong(args[0]); String file = args[0]; //reads numbers from file ArrayList<BigInteger> x = read(file); //turns numbers into primes ArrayList<BigInteger> primes = turnPrimes(x); //writes the primes writePrimes(file, primes); } public static ArrayList<BigInteger> turnPrimes(ArrayList<BigInteger> originalPrimes) { ArrayList<BigInteger> primes = new ArrayList<BigInteger>(); for(int i = 0; i < originalPrimes.size(); i++) { primes.add(NextPrime(originalPrimes.get(i))); } return primes; } public static void writePrimes(String file, ArrayList<BigInteger> primes) { String fileName = file; if(file.contains(".txt")) { fileName = fileName.substring(0, file.length() - 4); } try { BufferedWriter writer = new BufferedWriter(new FileWriter(fileName + "primes.txt")); for(int i = 0;i < primes.size(); i++) { String number = String.valueOf(primes.get(i)); writer.write(number); writer.newLine(); } writer.close(); } catch(Exception e) { e.printStackTrace(); } } public static ArrayList<BigInteger> read(String file) { ArrayList<BigInteger> originalList = new ArrayList<BigInteger>(); try { BufferedReader reader = new BufferedReader(new FileReader(file)); while(true) { String line = reader.readLine(); if(line == null) { break; } BigInteger longLine = BigInteger(line); originalList.add(longLine); } } catch(Exception e) { e.printStackTrace(); } return originalList; } private static BigInteger BigInteger(String line) { return null; } public static java.math.BigInteger NextPrime(BigInteger bigInteger) { BigInteger N = bigInteger; boolean isPrime = true; if (N < 2) { isPrime = false; } while(N <= BigInteger.MAX_VALUE) { isPrime = true; for (int i = 2; i*i <= N; i++) { // if i divides evenly into N, N is prime, so break out of loop if (N % i == 0) { isPrime = false; } } if(isPrime) { break; } N++; } return N; } }
- 02-01-2012, 09:28 PM #2
Senior Member
- Join Date
- Jan 2012
- Posts
- 210
- Rep Power
- 2
Re: Big Integer problems
Java Code:BigInteger equivalent = BigInteger.valueOf(Long.MAX_VALUE);
- 02-01-2012, 09:41 PM #3
Member
- Join Date
- Jan 2012
- Posts
- 8
- Rep Power
- 0
Re: Big Integer problems
Ok, and any ideas on how to use BigIntegers in the loops?
- 02-02-2012, 10:55 AM #4
Moderator
- Join Date
- Apr 2009
- Posts
- 10,460
- Rep Power
- 16
Similar Threads
-
Integer Comparison, Outputting Largest Integer Not Working
By killingthemonkey in forum New To JavaReplies: 4Last Post: 10-16-2011, 08:59 PM -
add integer value on each run
By aconti in forum New To JavaReplies: 4Last Post: 07-12-2011, 08:47 AM -
Big integer
By penguinSlack in forum New To JavaReplies: 1Last Post: 03-14-2011, 04:08 AM -
InputStream/Jar Problems/File IO Problems
By rdjava in forum Advanced JavaReplies: 31Last Post: 01-17-2011, 11:12 AM -
convert unsigned integer to signed integer in java?
By diskhub in forum New To JavaReplies: 6Last Post: 05-17-2010, 12:50 AM


LinkBack URL
About LinkBacks
Reply With Quote
Bookmarks