Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
a) Nedenstående klasse Rational tilbyder en meget simpel repræsentation<br />
af rationale tal uden aritmetiske operationer. Udvid klassen så den<br />
implementerer interface Comparable:<br />
public class Rational<br />
{<br />
private int num;<br />
private int den;<br />
public Rational(int n, int d)<br />
{<br />
if(d == 0) {<br />
throw new RuntimeException(<br />
"RationalError: zero denominator");<br />
}<br />
else { num = n; den = d; }<br />
}<br />
}<br />
public String toString() { return (num+"/"+den); }<br />
b) Brug den udvidede klasse til at skrive et program, der indlæser en<br />
række rationale tal og derefter udskriver dem i sorteret orden. Kør<br />
programmet på de første kædebrøksapproksimationer for π:<br />
( 3<br />
1 , 22 7 , 333<br />
106 , 355<br />
113 , 103993<br />
33102 , 104348<br />
33215 , 208341 )<br />
66317<br />
c) Udvid klassen, der repræsenterer lange heltal (fra opgave 4.1.2), så den<br />
ligeledes implementerer interfacet Comparable.<br />
d) Overvej hvorledes du kan konstruere en klasse, der repræsenterer vilkårlige<br />
rationale tal (d.v.s. rationale tal, hvor tæller og nævner kan være lange<br />
heltal). Klassen skal som minimum implementere interface Comparable.<br />
Ihvilketomfangkandugenbruge/udvide klasser som du allerede har<br />
lavet<br />
Opgave 6.1.3<br />
Betragt følgende Java-program, der anvender en ukendt klasse C.<br />
public class A<br />
{<br />
private static C c;<br />
57