Math 类
JDK定义了许多有用的类,其中一个是Math类,它为数学运算提供了预定义的方法。
你不需要创建Math类的对象来使用它。要访问它,只需输入Math. 和相应的方法。
Math.abs() 返回参数的绝对值。参数可以是 int, float, long, double, short, byte类型。
int a = Math.abs(5); // 5
int b = Math.abs(-10); // 10
Math.ceil() 将一个数进行上舍入,返回值大于或等于给定的参数。
double c = Math.ceil(6.231); // 7.0
Math.floor() 将对一个数进行下舍入,返回给定参数最大的整数,该整数小于或等给定的参数。
double f = Math.floor(6.231); // 6.0
Math.max() 用于返回两个参数中的最大值。
int m = Math.max(5,10); // 10
相反,Math.min() 用于返回两个参数中的最小值。
int m = Math.min(5,10); // 5
Math.pow() 用于返回第一个参数的第二个参数次方。值以double形式返回。
double p = Math.pow(2,3); // 8.0
提示:Math 类还提供了其他一些方法,例如:sqrt(),sin(),cos() 方法等等。
包(package)
Java 使用包(package)这种机制是为了防止命名冲突,访问控制,提供搜索和定位类、接口、枚举和注释等。
一个包(package)可以定义为一组相互联系的类型(类、接口、枚举和注释),为这些类型提供访问保护和命名空间管理的功能。
用Java创建一个包是非常简单的。使用Eclipse开发工具,通过右键点击项目中的src目录,并选择 New(新建)-> Package(包)。为这个包取一个合适的名字,然后点击 “Finish(完成)” 。
在包中创建/移动类时,以下代码将出现在文件列表的顶部。
package com.bobo;
这表示这个类所属的包。
现在,我们需要导入包中的类,以便能够使用它们。
下面是一个例子,显示如何使用com.bobo包的Cat类。
import com.bobo.Cat;
class MyJavaClass {
public static void main(String[] args) {
Cat c1 = new Cat();
c1.barking();
}
}
当一个类被放入一个包中时会发生两个主要的结果。首先,包的名称成为该类名称的一部分。其次,包的名称必须与相应的类文件所在的目录结构相匹配。
提示:使用通配符 "*" 导入包中的所有类。例如,import com.bobo.* 将导入com.bobo包中的所有类。
我正在尝试将我更新的gem推送到rubygems.com并得到以下结果。~/dev/V2/V2GPTI(master)$gembuildv2gpti.gemspecSuccessfullybuiltRubyGemName:v2gptiVersion:0.2File:v2gpti-0.2-universal-darwin-13.gem~/dev/V2/V2GPTI(master)$gempushv2gpti.gemspecERROR:Whileexecutinggem...(Gem::Package::FormatError)packagemetadataismissinginv2g
使用chef我有一个安装gem的简单方法,例如:gem_package"passenger"doversionnode['passenger']['version']end我还想用另一本说明书安装ruby,对于某些服务器可能是Ruby1.9.3,对于其他服务器可能是RubyEnterprise1.8.7。所以我想我可以使用gem_binary和ohai来做到这一点,就像这样:gem_package"passenger"doversionnode['passenger']['version']gem_binary"#{languages['ruby']['bin_dir']/gem}
这真的很奇怪::josh@josh;wgetftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.7.tar.bz2:josh@josh;tarxvjfruby-1.8.7.tar.bz2:josh@josh;cdruby-1.8.7/:josh@josh;CFLAGS='-O0-g-Wall'./configure--disable-pthread:josh@josh;makegcc-O0-g-Wall-DRUBY_EXPORT-D_GNU_SOURCE=1-I.-I.-carray.c[...]gcc-O0-g-Wall-DRUBY_EXPOR
Math中的方法可以像类方法一样调用:Math.cos(0)但也可以是include-d像实例方法:includeMathcos(0)相比之下,以下模块只能以一种方式调用,而不能以另一种方式调用:moduleFoodefbarendendFoo.bar()#NoMethodErrorforthiscallincludeFoobar()#butthiscallisfine单例方法:moduleFoodefself.barendendFoo.bar()#thiscallisfineincludeFoobar()#butnotthisone知道如何编写像Math这样的模块吗?
乍一看,它们似乎是针对同一问题的几乎相同的解决方案,但Jammit一定有一些我没有注意到的关键差异或改进,否则它的作者可能只是使用了asset_packager。:-)谁能教教我? 最佳答案 当然。以下是一些主要区别:Jammit不是使用简单的基于Ruby的CSS和JS压缩器,而是让使用YUICompressor或新的GoogleClosureCompiler来压缩您的Assets变得容易。Jammit不必单独指定每个文件,而是使用目录glob的有序列表来定义Assets包。这意味着您可以这样说:首先给我jQuery,然后是vend
我想知道这是不是真的:当我对一个平方整数求平方根时,就像在f=Math.sqrt(123*123)我将得到一个非常接近123的float。由于浮点表示精度,这可能类似于122.99999999999999999999或123.000000000000000000001。因为floor(122.999999999999999999)是122,我应该得到122而不是123。所以我希望floor(sqrt(i*i))==i-1在大约50%的情况下。奇怪的是,对于我测试过的所有数字,floor(sqrt(i*i)==i。这是一个用于测试前1亿个数字的小ruby脚本:100_000_000.
如何撤销bundlepackage?我删除了vendor/cache中的所有内容,但是当我运行bundleinstall时它又重新安装在那里。 最佳答案 根据这个答案:https://stackoverflow.com/a/9471980/219883必须删除隐藏的.bundle目录,然后重新运行bundleinstall-否则会继续添加vendor/cache每次返回目录。 关于ruby-on-rails-Railsbundler:howtoundobundlepackage?,我们在
尝试在OSX10.9上安装therubyracer时,使用以下命令:$geminstalltherubyracer-v'0.12.0'我得到错误:ERROR:Errorinstallingtherubyracer:invalidgem:packageiscorrupt,exceptionwhileverifying:undefinedmethod`path2class'for#(NoMethodError)in/Users/doved/.rvm/gems/ruby-2.0.0-p353/cache/therubyracer-0.12.0.gemXCode开发者工具已安装,我已尝试删除缓
我想知道如何在Ruby中获得幂的倒数?2**4#=>16然后我想得到它的逆,但我不确定要使用哪个运算符16??2#=>4 最佳答案 指数的倒数是对数。如果ab=c,然后logac=b.您可以在Math中找到对数函数模块,特别是log()对于base-e和log10()以10为基数。要获得以不同为底的对数(例如n),请使用公式logNa=logxa/logxN,其中x是一个值,例如e或10。针对您的特定案例:log216=loge16/loge2=Math.log(16)/Math.log(2)=4你认为这个解释是好的是因为它扩展了你
我正在使用MathJax来呈现一些数学。我如何摆脱左下角的这条消息?我在MathJax的docs中找不到这个. 最佳答案 这是一个状态栏。每MathJax-Docs,您可以在加载mathjax之前通过将消息样式设置为none来关闭它:MathJax.Hub.Config({messageStyle:"none"}); 关于javascript-MathJax:如何删除"Typesettingmath:100%"显示消息,我们在StackOverflow上找到一个类似的问题: