Java如何得到随机数的第5个值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java如何得到随机数的第5个值相关的知识,希望对你有一定的参考价值。

参考技术A 用random方法来生成随机数。
在Java语言中生成随机数相对来说比较简单,因为有一个现成的方法可以使用。在Math类中,Java语言提供了一个叫做random的方法。通过这个方法可以让系统产生随机数。不过默认情况下,其产生的随机数范围比较小,为大于等于0到小于1的double型随机数。虽然其随机数产生的范围比较小,不能够满足日常的需求。如日常工作中可能需要产生整数的随机数。其实,只要对这个方法进行一些灵活的处理,就可以获取任意范围的随机数

定位类中的第一个和第二个值

在Kotlin的Pair数据类中,它需要2个值:

Pair<out A, out B>

这些值是通过firstsecond命名的属性:

Pair(first: A, second: B)

但是,如果这些属性不存在,那么第一个和属性如何被定位(例如,对于具有两个参数OtherClass<Int, Int>的其他类? - 是否有另一种方法来定位它们?)

PS:为什么Pair是数据类而不是常规类?

答案

A和B不是属性,它们是类型参数。然后使用类型参数来定义属性。

这是对的source code

public data class Pair<out A, out B>(
    public val first: A,
    public val second: B
) : Serializable {

    /**
     * Returns string representation of the [Pair] including its [first] and [second] values.
     */
    public override fun toString(): String = "($first, $second)"
}

您定位属性(firstsecond),而不是类型参数。

假设你有Pair<Int, String>。这意味着AIntBString

firstA类型的财产,secondB类型的财产,因此firstIntsecondString

在回答你的'PS'时,Pair是一个数据类,因为它赋予了usual benefits,例如生成的equals()方法。

另一答案

qazxsw point表示一对通用的两个值,将其视为中间带有分隔符的框。它并不关心你放在分隔器两侧的东西。

什么是第一和第二:

如果你看看Robs答案,你会看到Pair类有两个公共值,一个是名字“first”而另一个叫“second”。它基本上意味着每个盒子(对)都有两面并且它不关心你放在哪一边,默认情况下我把一边称为“第一”而另一边是“第二”如果你想要左边的东西只是首先将它称为“第一个”,如果你想要从右侧获得某些东西,请将其称为第二个。

Pair只是意味着你想要一个盒子,一边拿着一个字符串而另一边拿着一个整数。

Pair("Some Words", 99)只是意味着你想要一个盒子,一边拿着一个字符串(值为1)而另一边拿着一个整数(100)你已经将这个盒子命名为myPair。

既然Kotlin并不关心你放入盒子里的东西的类型,那么就像在myPair = Pair("value 1", 100)中添加一个空值一样是完全可以的,你的工作是检查是否有一个空值被添加或从中提取这对。

检索值:

假设您执行var myPair=Pair(null, 99)之类的操作如果您想查看myPair中的内容,您可以执行以下操作:

myPair = Pair("value 1", 100)

为什么Pair是数据类而不是常规类?

数据类的主要目的是保存数据。数据类有一些限制,因此编译器可以为所有数据类添加一些标准功能,如eaquls(),hashCode()

Pair类意味着保存一对数据,因此可以从一些标准功能中受益,比如toString()。

你可以阅读详细资料println(myPair.first) -> "value 1" println(myPair.second) -> 100

另一答案

如果你看看如何实现HERE,你会发现它是一个简单的数据类,有两个属性:Pairfirst

second

因此,您可以使用以下语法显然访问这些属性:public data class Pair<out A, out B>( public val first: A, public val second: B ) pair.first。第一个和第二个名称不是特殊关键字,只是属性名称。

请注意,一般情况下,对和数据类有一些特殊之处,可以在这里观察到:

pair.second

这种技术被称为val p = Pair(1, 2) val (f: Int, s: Int) = p println(f) //1 println(s) //2 ,并且可以通过destructuring运算符实现,如果你使用componentX类,它们会自动为你生成。

以上是关于Java如何得到随机数的第5个值的主要内容,如果未能解决你的问题,请参考以下文章

java中怎么从一个数组中随机的取N个值

如何用java随机生成一个字母

Java如何得到一个18位的随机数?

java 如何弄个简单的随机点名,不用名字,直接数字就可以

c++杨辉三角

一个java问题,随机输入一组数字,从小到大排列,然后表示它是第几次输入的数字(问题在这),真心求助。