class

Static inner class example

This is an example of how to use a static inner class. We have set the example as described below:

  • We have created a class, ArAlgo that contains a static inner class P.
  • Class P has two double attributes and their getters.
  • ArAlgo class also has a static method, P min_max(double[] vals). The method gets a double array and for each value in the array and computes the minimum
    and the maximum value in the array.
  • We create a new double array and fill it with random values, using random() API method of Math. Then we get a new instance of P class, using min_max(double[] vals) method of ArAlgo class, with the double array created above. We use the getters of the ArAlgo class to get the values of the two fields.

Let’s take a look at the code snippet that follows:  

package com.javacodegeeks.snippets.core;

public class StaticInnerClass {

    public static void main(String[] args) {


  double[] num = new double[20];

  for (int i = 0; i < num.length; i++) {


num[i] = 100 * Math.random();

  }

  ArAlgo.P p = ArAlgo.min_max(num);

  System.out.println("min = " + p.getF());

  System.out.println("max = " + p.getS());
    }
}

class ArAlgo {

    /**
     * A pair of floating-point numbers
     */
    public static class P {


  /**

   * Constructs a pair from two floating-point numbers

   */

  

  private double f;

  

  private double s;


  public P(double a, double b) {


f = a;


s = b;

  }


  /**

   * Returns the first number of the pair

   */

  public double getF() {


return f;

  }


  /**

   * Returns the second number of the pair

   */

  public double getS() {


return s;

  }
    }

    /**
     * Computes both the minimum and the maximum of an array
     */
    public static P min_max(double[] vals) {

  

  double min = Double.MAX_VALUE;

  double max = Double.MIN_VALUE;

  

  for (double v : vals) {





if (min > v) {


    min = v;


}


if (max < v) {


    max = v;


}

  }

  return new P(min, max);
    }
}

Output:

min = 1.5117631236976625
max = 90.86550459529965

  
This was an example of static inner class in Java.

Ilias Tsagklis

Ilias is a software developer turned online entrepreneur. He is co-founder and Executive Editor at Java Code Geeks.
Subscribe
Notify of
guest

This site uses Akismet to reduce spam. Learn how your comment data is processed.

0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Back to top button