A pseudo-random number generator, such as java.util.Random , produces a deterministic sequence of numbers characterized by an initial seed. Such generators are created to create sequences that appear to vary randomly and (usually) uniformly over the entire PRNG range.
You get the same sequence of numbers if you start from the same semester. This may be useful in some circumstances, but it is usually undesirable. In particular, your numbers will not have any chance at all if you select PRNG with the same seed before generating each number.
But more subtle problems arise, even if you generate PRNG with different seeds before generating each number, including if you create a new Random instead of reusing the existing one. In this case, you are not guaranteed the same range or distribution of results, and your results may show correlations that they would not show if you sowed only once.
So when you say
I am wondering under what circumstances would you like to have another seed for a random number generator.
the only reason I can think of you wanting to change the seeds in one run of your program is that you have published enough of the PRNGs that you are worried about someone who determines its implementation and internal state, and therefore, the ability to predict subsequent numbers. In practice, this will only apply in special circumstances.
On the other hand, you always want to select a different seed every time your program starts, otherwise it will generate the same sequence of random numbers every time.
Typically, you should split the PRNG once, and then use it as much as necessary, without re-plating. It is not necessary to mistakenly use several independent PRNGs, but the reasons for this are mainly organizational in nature (for example, you do not need to worry about synchronization without having to specify a Random instance), but not functionally.