Java课后动手动脑二

随机数

一、JOptionPane:主要用到四种消息提示框方法:

showConfirmDialog():确认对话框

showInputDialog():输入对话框

showMessageDialog():消息对话框

showOptionDialog():选择对话框

 

主要有五种消息类型,类型不同,图标不同:

ERROR_MESSAGE

INFORMATION_MESSAGE

WARNING_MESSAGE

QUESTION_MESSAGE

PLAIN_MESSAGE

 

二、Math.random() * 11, 生成0-10之间的随机数,乘几就是0到几。

 

动手动脑

根本的原理是哈希求值,我们用平衡树验证了一下,当仅仅生成1000个数时,不会重复。

public static void main( String args[] )
{
    double m=Math.pow(2.0,31.0)-1;
    int a=16807;
    int c=0;
    int x;
    Random r=new Random();
    x=r.nextInt();
    int[] b=new int[2000];
    b[0]=x;
    for(int i=1;i<=1000;i++){
        b[i]=(a*b[i-1]+c)%(int)m;
    }
    HashSet<Integer>s=new HashSet<>();
    for(int i=0;i<1001;i++){
        System.out.println(b[i]);
        s.add(b[i]);
    }
    System.out.println(s.size());
}

 

动手动脑

特点:写了两个同名的函数,但是返回值类型和传入的参数不一样。

区分同名函数的方法是,写用不同的形参,返回值类型不会区分函数的不同。

public class Main {
    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;
    }
}

 

练习:在jdk中System.out.println()有许多重名函数,但是形参都不同,这是调用函数时区分同名函数的标志。

 

posted on 2023-09-20 17:14  临江柔  阅读(24)  评论(0)    收藏  举报