星期一的作业:
import java.util.HashSet;
import java.util.Random;
import java.util.Set;
public class RandomNumberGenerator {
private static final int MODULUS = Integer.MAX_VALUE;
private static final int MULTIPLIER = 16807;
private static final int C = 0;
public static Set<Integer> generateRandomNumbers(int count) {
Set<Integer> randomNumbers = new HashSet<>();
int seed = 1;
for (int i = 0; i < count; i++) {
seed = (MULTIPLIER * seed + C) % MODULUS;
randomNumbers.add(seed);
}
return randomNumbers;
}
public static void main(String[] args) {
int count = 1000;
Set<Integer> randomNumbers = generateRandomNumbers(count);
System.out.println("Generated random numbers:");
for (int number : randomNumbers) {
System.out.println(number);
}
}
}
第一个动手动脑,使用了ppt上面的算法生成了1000个随机数。
// MethodOverload.java // Using overloaded methods public class MethodOverload { public static void main(String[] args) { System.out.println("The square of integer 7 is " + square(7)); System.out.println("\nThe square of double 7.5 is " + square(7.5)); } public static int square(int x) { return x * x; } public static double square(double y) { return y * y; } }
第二个动手动脑
这段代码展示了方法的重载(Method Overloading)的特性。方法的重载是指在同一个类中定义多个同名但参数列表不同的方法。
在这个示例中,有两个名为square
的方法,一个接受一个整数参数,另一个接受一个双精度浮点数参数。这两个方法具有相同的方法名但参数列表不同,这就是方法重载的体现。
当我们调用square
方法时,编译器会根据传入的参数类型来确定要调用的具体方法。如果传入一个整数参数,编译器会选择调用接受整数参数的square
方法;如果传入一个双精度浮点数参数,编译器会选择调用接受双精度浮点数参数的square
方法。
这种方法重载的特性可以提高代码的可读性和灵活性,使得我们可以使用相同的方法名来处理不同类型的输入数据。