加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

动手动脑(2)

发布时间:2020-12-15 07:35:12 所属栏目:Java 来源:网络整理
导读://方法重载 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 sq
//方法重载
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; } }

运行结果:

?

?

?

以上代码为Java中方法的重载,构成条件为:

1.方法名相同

2.参数类型、个数或参数类型的顺序不同,与返回值类型无关

在Java中定义方法

//求平方数的静方法
public class SquareInt {

    public static void main(String[] args) {
        int result;

        for (int x = 1; x <= 10; x++) {
            result = square(x);
            // Math库中也提供了求平方数的方法
            // result=(int)Math.pow(x,2);
            System.out.println("The square of " + x + " is " + result + "n");
        }
    }

    // 自定义求平方数的静态方法
    public static int square(int y) {
        return y * y;
    }
}

运行结果:

?

随机数生成

使用Math.random()生成随机数
// RandomInt.java
// Shifted,scaled random integers
import javax.swing.JOptionPane;

public class RandomInt {
   public static void main( String args[] )
   {
      int value;
      String output = "";

      for ( int i = 1; i <= 20; i++ ) {
         value = 1 + (int) ( Math.random() * 6 );     //生成0~5之间的随机数
         output += value + "  ";
         
         if ( i % 5 == 0 )
            output += "n";
      }

      JOptionPane.showMessageDialog( null,output,"20 Random Numbers from 1 to 6",JOptionPane.INFORMATION_MESSAGE );

      System.exit( 0 );
   }
}

?

?运行结果:

?

使用Random类生成随机数

?

import java.util.*;

public class TestRandom
{
    public static void main(String[] args) 
    {
        Random rand = new Random();
        System.out.println("rand.nextBoolean():" + rand.nextBoolean());
        byte[] buffer = new byte[16];
        rand.nextBytes(buffer);
        System.out.println(Arrays.toString(buffer));
        //生成0.0~1.0之间的伪随机double数
        System.out.println("rand.nextDouble():" + rand.nextDouble());
        //生成0.0~1.0之间的伪随机float数
        System.out.println("rand.nextFloat():" + rand.nextFloat());
        //生成平均值是 0.0,标准差是 1.0的伪高斯数
        System.out.println("rand.nextGaussian():" + rand.nextGaussian());
        //生成一个处于long整数取值范围的伪随机整数
        System.out.println("rand.nextInt():" + rand.nextInt());
        //生成0~26之间的伪随机整数
        System.out.println("rand.nextInt(26):" + rand.nextInt(26));
        //生成一个处于long整数取值范围的伪随机整数
        System.out.println("rand.nextLong():" +  rand.nextLong());
    }
}
   

?

?运行结果:

?

利用种子生成随机数

import java.util.Random;
/*
 * 随机数是种子经过计算生成的。

    不含参的构造函数每次都使用当前时间作为种子,随机性更强
    而含参的构造函数其实是伪随机,更有可预见性

 */
public class TestSeed
{
    public static void main(String[] args)
    {
        Random r1 = new Random(50);
        System.out.println("第一个种子为50的Random对象");
        System.out.println("r1.nextBoolean():t" + r1.nextBoolean());
        System.out.println("r1.nextInt():tt" + r1.nextInt());
        System.out.println("r1.nextDouble():t" + r1.nextDouble());
        System.out.println("r1.nextGaussian():t" + r1.nextGaussian());
        System.out.println("---------------------------");
        
        Random r2 = new Random(50);
        System.out.println("第二个种子为50的Random对象");
        System.out.println("r2.nextBoolean():t" + r2.nextBoolean());
        System.out.println("r2.nextInt():tt" + r2.nextInt());
        System.out.println("r2.nextDouble():t" + r2.nextDouble());
        System.out.println("r2.nextGaussian():t" + r2.nextGaussian());
        System.out.println("---------------------------");
        
        Random r3 = new Random(100);
        System.out.println("种子为100的Random对象");
        System.out.println("r3.nextBoolean():t" + r3.nextBoolean());
        System.out.println("r3.nextInt():tt" + r3.nextInt());
        System.out.println("r3.nextDouble():t" + r3.nextDouble());
        System.out.println("r3.nextGaussian():t" + r3.nextGaussian());
        
       
        Random r4 = new Random(System.currentTimeMillis());
        System.out.println("以当前时间为种子的Random对象");
        System.out.println("r3.nextBoolean():t" + r4.nextBoolean());
        System.out.println("r3.nextInt():tt" + r4.nextInt());
        System.out.println("r3.nextDouble():t" + r4.nextDouble());
        System.out.println("r3.nextGaussian():t" + r4.nextGaussian()); 
    }
}

运行结果:

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读