A number-conserving cellular automaton is a simplified model for a system of interacting particles. This paper contains two related constructions by which one can find all one-dimensional number-conserving cellular automata with one kind of particle. The output of both methods is a "flow function", which describes the movement of the particles. In the first method, one puts increasingly stronger restrictions on the particle flow until a single flow function is specified. There are no dead ends, every choice of restriction steps ends with a flow. The second method uses the fact that the flow functions can be ordered and then form a lattice. This method consists of a recipe for the slowest flow that enforces a given minimal particle speed in one given neighbourhood. All other flow functions are then maxima of sets of these flows. Other questions, like that about the nature of non-deterministic number-conserving rules, are treated briefly at the end.