magichat.java
来自「Java2入门经典第五章源码」· Java 代码 · 共 57 行
JAVA
57 行
import java.util.Random; // Import Random class
public class MagicHat
{
static int maxRabbits = 5; // Maximum rabbits in a hat
static Random select = new Random(); // Random number generator
// Constructor for a hat
public MagicHat(final String hatName)
{
this.hatName = hatName; // Store the hat name
rabbits = new Rabbit[1+select.nextInt(maxRabbits)]; // Random rabbits
for(int i = 0; i < rabbits.length; i++)
rabbits[i] = new Rabbit(); // Create the rabbits
}
// String representation of a hat
public String toString()
{
// Hat name first...
String hatString = "\n" + hatName + " contains:\n";
for(int i = 0; i < rabbits.length; i++)
hatString += "\t" + rabbits[i] + " "; // Add the rabbits strings
return hatString;
}
private String hatName; // Name of the hat
private Rabbit rabbits[]; // Rabbits in the hat
// Nested class to define a rabbit
static class Rabbit
{
// A name is a rabbit name from rabbitNames followed by an integer
static private String[] rabbitNames = {"Floppsy", "Moppsy",
"Gnasher", "Thumper"};
static private int[] rabbitNamesCount = new int[rabbitNames.length];
private String name; // Name of the rabbit
// Constructor for a rabbit
public Rabbit()
{
int index = select.nextInt(rabbitNames.length); // Get random name
// index
name = rabbitNames[index] + (++rabbitNamesCount[index]);
}
// String representation of a rabbit
public String toString()
{
return name;
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?