Element.java


This is the syntax highlighted version of Element.java from 3.2 Creating Data Types of
Introduction to Computer Science by Robert Sedgewick and Kevin Wayne.

/*************************************************************************
 *  Compilation:  javac Element.java
 *  Execution:    java Element < ../datafiles/elements.txt
 *  Dependencies: In.java
 *  
 *  Data type for elements in periodic table. Store name, atomic number,
 *  symbol, and atomic.
 *
 *************************************************************************/

public class Element {
    private String name;       // name of element
    private int    number;     // number in periodic table
    private String symbol;     // atomic symbol
    private double weight;     // atomic weight 

    public Element(String name, int number, String symbol, double weight) {
        this.name   = name;
        this.number = number;
        this.symbol = symbol;
        this.weight = weight;
    }


    public String toString() {
        String s = "";
        s = s +  name   + " (" + symbol + ")\n";
        s = s + "Atomic number: " + number + "\n";
        s = s + "Atomic weight: " + weight + "\n";
        return s;
    }
    
    public static void main(String[] args) {
        int ELEMENTS = 103;
        Element[] elements = new Element[ELEMENTS];
        In in = new In();

        // ignore first line
        String s = in.readLine();

        // read data
        for (int i = 0; i < ELEMENTS; i++) {
            s = in.readLine();
            s = s.replaceAll("\t\t", "\t");      // data file has some double tabs
            String[] fields = s.split("\t");
            String name   = fields[0];
            int number    = Integer.parseInt(fields[1]);
            String symbol = fields[2];
            double weight = Double.parseDouble(fields[3]);
            elements[i] = new Element(name, number, symbol, weight);
            System.out.println(elements[i]);
        }
    }
}
 


Last updated: Wed Jun 16 15:40:43 EDT 2004 .
Copyright © 2004, Robert Sedgewick and Kevin Wayne.