在我正在制作的应用程序中,我需要一些物理计算(力量,力,扭矩等)。我想使用JScience,因为它在跟踪单位时似乎非常有用。例如,要指定速度,我会这样做:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<h1>Hello <span class="name">Mr David</span>
</h1>
<button onclick="changeLang('en')">English</button>
<button onclick="changeLang('he')">Hebrew</button>
我的问题是我想在课堂上指定一些角速度,但我无法理解我应该如何做到这一点。假设我想指定100 rad / s的角速度。
new_bib = Regex.Replace(new_bib, @"(?s)(\\bibitem\[[^\]]+\]\{" + pat4 + @"\})[\s\n\v]*([\\\{\}a-zA-Z\.\s\,\;\\\#\\\$\\\%\\\&\*\@\\\!\\\^+\-\\\=\\\~\\\:\\\" + dblqt + @"\\\;\\\`\\\']{20,70})", delegate(Match mts)
{
var fg = mts.Groups[0].Value.ToString();
var fs = mts.Groups[1].Value.ToString();
var fss = mts.Groups[2].Value.ToString();
fss = Regex.Replace(fss, @"[\\\{\}\\\#\\\$\\\%\\\&\*\@\\\!\\\^+\-\\\=\\\~\\\:\\\" + dblqt + @"\\\;\\\`\\\']+", "");
return "<augroup>" + fss + "</augroup>" + fs;
}, RegexOptions.IgnoreCase);
我无法在JScience中找到任何用于角速度的单位。文档说&#34;这个数量的系统单位是&#34; rad / s&#34; (每秒弧度)。&#34;,但没有&#34; SI.RAD_PER_SECOND&#34;或者我认为的任何枚举值......
所以问题是:我在后面的代码示例中写了什么 {SOME UNIT} ?
来自Birger的欢呼声
--- 修改 -
有建议使用&#34; SI.RADIAN.divide(SI.SECOND)&#34;作为单位,但我必须将变量分配给不同的类型。
Amount<Velocity> vel = Amount.valueOf(100, SI.METERS_PER_SECOND);
答案 0 :(得分:2)
我不是这个特定库的专家,但是在eclipse中的一些快速测试让我想到了这个:
Amount<AngularVelocity> angVel = Amount.valueOf(100, AngularVelocity.UNIT);
问题在于,如果AngularVelocity.UNIT发生变化,你的数量也会发生变化。但我不太可能这样说。
否则,给出一条不那么漂亮的代码:
Amount<AngularVelocity> angVel = Amount.valueOf(100, SI.RADIAN.divide(SI.SECOND).asType(AngularVelocity.class));
这使我在Java编程时得到了很好的提示:使用控制空间。很多。我从来没有使用过这个库,我只能通过快速检查AngularVelocity.UNIT版本的文档来找到它。另一个是你自己的解决方案之后的控制空间。