All pastes #454963 Raw Edit

Terence

public java v1 · immutable
·published 2007-04-23 22:27 UTC
rendered paste body
import java.util.Scanner; // import scannerpublic class Fractions{	public static void main(String args[])		{			Scanner inputint = new Scanner(System.in);			System.out.print("Enter maximum denominator: ");       			int i = inputint.nextInt(); // declare maximum denominator       		 	Rational x = new Rational(1, 1);        		Rational x1 = new Rational(0, 1);        		Rational x3;        		for(Rational x2 = new Rational(1, i); x1.compareTo(x) < 0; x2 = x3) // the algorithm.. kaka        			{            				System.out.print((new StringBuilder()).append(x1).append(", ").toString());            				int j = ((x1.denominator() + i) / x2.denominator()) * x2.numerator() - x1.numerator();            				int k = ((x1.denominator() + i) / x2.denominator()) * x2.denominator() - x1.denominator();            				x3 = new Rational(j, k);            				x1 = x2;        			}        		System.out.println(x1);    		}    	private static Rational zero = new Rational(0, 1);    	private int num;    	private int den;    	public void Rational(int i, int j) // rational is here    		{        	int k = g(i, j);        	num = i / k;        	den = j / k;    		}    	private static int g(int i, int j) // find gcd    		{        		if(0 == j)            			return i;        		else            		return g(j, i % j);    		}    	public int numerator() // return numerator    		{        		return num;    		}   	public int denominator() // return denominator    		{        		return den;    		}}