1.2.15 File input. Develop a possible implementation of the static readInts() method from In (which we use for various test clients, such as binary search on page 47) that is based on the split() method in String.
importedu.princeton.cs.algs4.In;publicclass E1215 {publicstaticint[]readInts(String name){In in =newIn(name);String input = in.readAll();String[] words = input.split("\\s+");//空格分隔int[] ints =newint[words.length];for(int i =0; i < words.length;i++)
ints[i]=Integer.parseInt(words[i]);return ints;}publicstaticvoidmain(String[] args){int[] ints;
ints =readInts("test.txt");for(int i =0; i < ints.length;i++)System.out.println(ints[i]);}}
1.2.16 Rational numbers. Implement an immutable data type Rational for rational numbers that supports addition, subtraction, multiplication, and division.
1.2.17 Robust implementation of rational numbers. Use assertions to develop an implementation of Rational (see Exercise 1.2.16) that is immune to overflow.
1.2.18 Variance for accumulator. Validate that the following code, which adds the methods var() and stddev() to Accumulator, computes both the mean and variance of the numbers presented as arguments to addDataValue().
publicclass E1218 {publicstaticclassAccumulator{privatedouble m;privatedouble s;privateintN;publicvoidaddDataValue(double x){N++;
s = s +1.0*(N-1)/N*(x - m);
m = m +(x - m)/N;}publicdoublemean(){return m;}publicdoublevar(){return s /(N-1);}publicdoublestddev(){returnMath.sqrt(this.var());}@OverridepublicStringtoString(){return"Mean ("+N+" values ):"+String.format("%7.5f",mean())+" var : "+var()+" stddev :"+stddev();}}publicstaticvoidmain(String[] args){AccumulatorX=newAccumulator();X.addDataValue(1);System.out.println(X);X.addDataValue(2);System.out.println(X);X.addDataValue(3);System.out.println(X);}}
1.2.19 Parsing. Develop the parse constructors for your Date and Transaction implementations of Exercise 1.2.13 that take a single String argument to specify the initialization values.
1.2.15 File input. Develop a possible implementation of the static readInts() method from In (which we use for various test clients, such as binary search on page 47) that is based on the split() method in String.import edu.princeton.cs.algs4.In;public