求在Eclipse中做的java计算器,要求实现加减乘除,外加(),开根号等功能,跪求啊,1589323802@qq.com

求在Eclipse中做的java计算器,要求实现加减乘除,外加(),开根号等功能,跪求啊,1589323802@qq.com,第1张

import javautilScanner;
public class Test {
/
@param args
/
public static void main(String[] args) {
String str2="";
do{
Systemoutprint("请输入需求和的数字,以+号相连=号结尾如(1+1=)");
Scanner sc=new Scanner(Systemin);
try{
String str=scnext();
int num=0;
String str1[]=strsplit("\\+");

for(int i=0;i<str1length;i++){
if(i==str1length-1){
str1[i]=str1[i]substring(0,1);
}
num=num+IntegerparseInt(str1[i]);

}
Systemoutprint(str+""+num);
}catch(Exception e){
Systemoutprint("输入不合法!");
}
Systemoutprint("是否继续?(y/n)");
str2=scnext();
}
while("y"equals(str2));
}
}
只是个加,希望可以帮到你。

import javaawt;
import javalang;
import javaxswing;
import javaxswingevent;
import javaawtevent;
import javatextDecimalFormat;
public class Caculator implements ActionListener { //导入动作监听接口
//设计面板中的单位
JFrame frame;
JTextField textAnswer;
JPanel panel, panel1, panel2, panel3;
JMenuBar mainMenu;
JTextField textMemory;
JLabel labelMemSpace; //labelMemSpace单纯做摆设,控制面板的形状
JButton buttonBk, buttonCe, buttonC;
JButton button[];
JButton buttonMC, buttonMR, buttonMS, buttonMAdd;
JButton buttonDot, buttonAddAndSub, buttonAdd, buttonSub, buttonMul,
buttonDiv, buttonMod;
JButton buttonSqrt, buttonDao, buttonEqual;
JMenu editMenu, viewMenu, helpMenu;
JMenuItem copyItem, pasteItem, tItem, sItem, numberGroup, topHelp, aboutCal;
DecimalFormat df; //设置数据输出精度
boolean clickable; //控制当前能否按键
double memoryd; //使用内存中存储的数字
int memoryi;
double vard, answerd; //用来保存double型数据的中间值(vard)和最后结果(answerd)
short key = -1, prekey = -1; //key用来保存当前进行何种运算,prekey用来保存前次进行何种运算
String copy; //做复制用
JTextArea help; //帮助
JScrollPane scrollHelp;
//构造函数
public Caculator() {
clickable = true;
answerd = 0;
frame = new JFrame("计算器");
df = new DecimalFormat("0##############"); //设置数据输出精度(对于double型值)
textAnswer = new JTextField(15);
textAnswersetText("");
textAnswersetEditable(false);
textAnswersetBackground(new Color(255, 255, 255));
panel = new JPanel();
framegetContentPane()add(panel);
panel1 = new JPanel();
panel2 = new JPanel();
panelsetLayout(new BorderLayout());
//设计整个面板
mainMenu = new JMenuBar();
editMenu = new JMenu("编辑(E)");
viewMenu = new JMenu("查看(V)");
helpMenu = new JMenu("帮助(H)");
copyItem = new JMenuItem(" 复制(C) Ctrl+C");
copyItemaddActionListener(this);
pasteItem = new JMenuItem(" 粘贴(V) Ctrl+V");
pasteItemaddActionListener(this);
editMenuadd(copyItem);
editMenuadd(pasteItem);
tItem = new JMenuItem("●标准型(T)");
tItemaddActionListener(this);
sItem = new JMenuItem(" 科学型(S)");
sItemaddActionListener(this);
numberGroup = new JMenuItem(" 数字分组(I)");
numberGroupaddActionListener(this);
viewMenuadd(tItem);
viewMenuadd(sItem);
viewMenuadd(numberGroup);
topHelp = new JMenuItem(" 帮助主题(H)");
topHelpaddActionListener(this);
help = new JTextArea(5, 20);
scrollHelp = new JScrollPane(help);
helpsetEditable(false);
helpappend("执行简单计算\n");
helpappend("1 键入计算的第一个数字。\n");
helpappend("2 单击“+”执行加、“-”执行减、“”执行乘或“/”执行除。\n");
helpappend("3 键入计算的下一个数字。\n");
helpappend("4 输入所有剩余的运算符和数字。\n");
helpappend("5 单击“=”。\n");
aboutCal = new JMenuItem(" 关于计算器(A)");
aboutCaladdActionListener(this);
helpMenuadd(topHelp);
helpMenuadd(aboutCal);
mainMenuadd(editMenu);
mainMenuadd(viewMenu);
mainMenuadd(helpMenu);
paneladd(mainMenu, BorderLayoutNORTH);
paneladd(textAnswer, BorderLayoutCENTER);
paneladd(panel1, BorderLayoutSOUTH);
panel1setLayout(new BorderLayout());
textMemory = new JTextField(3);
textMemorysetEditable(false);
textMemorysetBackground(new Color(217, 217, 217));
labelMemSpace = new JLabel(" ");
buttonBk = new JButton("Backspace");
buttonBksetForeground(new Color(255, 0, 0));
buttonCe = new JButton("CE");
buttonCesetForeground(new Color(255, 0, 0));
buttonC = new JButton("C");
buttonCsetForeground(new Color(255, 0, 0));
buttonBkaddActionListener(this);
buttonCeaddActionListener(this);
buttonCaddActionListener(this);
panel1add(panel2, BorderLayoutNORTH);
panel2setLayout(new FlowLayout(FlowLayoutRIGHT));
panel2add(textMemory);
panel2add(labelMemSpace);
panel2add(buttonBk);
panel2add(buttonCe);
panel2add(buttonC);
panel3 = new JPanel();
panel1add(panel3, BorderLayoutCENTER);
button = new JButton[10];

for (int i = 0; i < buttonlength; i++) {
button[i] = new JButton(IntegertoString(i));
button[i]setForeground(new Color(0, 0, 255));
}

buttonMC = new JButton("MC");
buttonMCsetForeground(new Color(255, 0, 0));
buttonMR = new JButton("MR");
buttonMRsetForeground(new Color(255, 0, 0));
buttonMS = new JButton("MS");
buttonMSsetForeground(new Color(255, 0, 0));
buttonMAdd = new JButton("M+");
buttonMAddsetForeground(new Color(255, 0, 0));
buttonDot = new JButton("");
buttonDotsetForeground(new Color(0, 0, 255));
buttonAddAndSub = new JButton("+/-");
buttonAddAndSubsetForeground(new Color(0, 0, 255));
buttonAdd = new JButton("+");
buttonAddsetForeground(new Color(255, 0, 0));
buttonSub = new JButton("-");
buttonSubsetForeground(new Color(255, 0, 0));
buttonMul = new JButton("");
buttonMulsetForeground(new Color(255, 0, 0));
buttonDiv = new JButton("/");
buttonDivsetForeground(new Color(255, 0, 0));
buttonMod = new JButton("%");
buttonModsetForeground(new Color(0, 0, 255));
buttonSqrt = new JButton("sqrt");
buttonSqrtsetForeground(new Color(0, 0, 255));
buttonDao = new JButton("1/x");
buttonDaosetForeground(new Color(0, 0, 255));
buttonEqual = new JButton("=");
buttonEqualsetForeground(new Color(255, 0, 0));
//将所有行为与监听绑定
panel3setLayout(new GridLayout(4, 6));
panel3add(buttonMC);
buttonMCaddActionListener(this);
panel3add(button[7]);
button[7]addActionListener(this);
panel3add(button[8]);
button[8]addActionListener(this);
panel3add(button[9]);
button[9]addActionListener(this);
panel3add(buttonDiv);
buttonDivaddActionListener(this);
panel3add(buttonSqrt);
buttonSqrtaddActionListener(this);
panel3add(buttonMR);
buttonMRaddActionListener(this);
panel3add(button[4]);
button[4]addActionListener(this);
panel3add(button[5]);
button[5]addActionListener(this);
panel3add(button[6]);
button[6]addActionListener(this);
panel3add(buttonMul);
buttonMuladdActionListener(this);
panel3add(buttonMod);
buttonModaddActionListener(this);
panel3add(buttonMS);
buttonMSaddActionListener(this);
panel3add(button[1]);
button[1]addActionListener(this);
panel3add(button[2]);
button[2]addActionListener(this);
panel3add(button[3]);
button[3]addActionListener(this);
panel3add(buttonSub);
buttonSubaddActionListener(this);
panel3add(buttonDao);
buttonDaoaddActionListener(this);
panel3add(buttonMAdd);
buttonMAddaddActionListener(this);
panel3add(button[0]);
button[0]addActionListener(this);
panel3add(buttonAddAndSub);
buttonAddAndSubaddActionListener(this);
panel3add(buttonDot);
buttonDotaddActionListener(this);
panel3add(buttonAdd);
buttonAddaddActionListener(this);
panel3add(buttonEqual);
buttonEqualaddActionListener(this);
framesetDefaultCloseOperation(frameEXIT_ON_CLOSE);
framepack();
frameshow();
}
//设置各个按钮行为
public void actionPerformed(ActionEvent event) {
boolean sign = false; //判断是否是double型数参与运算,是为true,不是为false
Object temp = eventgetSource();
try {
//如果按下数据按钮,将按下的按钮代表的数据插入的当前文本框字符串之后
for (int i = 0; i <= 9; i++)
if (temp == button[i] && clickable == true)
textAnswersetText(textAnswergetText() + IntegertoString(i));
//按下''按钮时,判断当前文本框内字符串中含不含'',如果已含,则不允许再插入''
if (temp == buttonDot && clickable == true) {
boolean isDot = false;
if (textAnswergetText()length() == 0)
isDot = true;
for (int i = 0; i < textAnswergetText()length(); i++)
if ('' == textAnswergetText()charAt(i)) {
isDot = true;
break;
}
if (isDot == false)
textAnswersetText(textAnswergetText() + "");
}
if ( (temp == buttonAdd || temp == buttonSub || temp == buttonMul || temp == buttonDiv) && clickable == true) {
//'+' *** 作
if (temp == buttonAdd) {
switch (prekey) {
case 0:
answerd += DoubleparseDouble(textAnswergetText());
break;
case 1:
answerd -= DoubleparseDouble(textAnswergetText());
break;
case 2:
answerd = DoubleparseDouble(textAnswergetText());
break;
case 3:
if (DoubleparseDouble(textAnswergetText()) == 0) {
textAnswersetText("除数不能为零");
clickable = false;
}
else
answerd /= DoubleparseDouble(textAnswergetText());
break;
default:
answerd = DoubleparseDouble(textAnswergetText());
}
textAnswersetText("");
prekey = key = 0;
}
//'-' *** 作
if (temp == buttonSub) {
switch (prekey) {
case 0:
answerd += DoubleparseDouble(textAnswergetText());
break;
case 1:
answerd -= DoubleparseDouble(textAnswergetText());
break;
case 2:
answerd = DoubleparseDouble(textAnswergetText());
break;
case 3:
if (DoubleparseDouble(textAnswergetText()) == 0) {
textAnswersetText("除数不能为零");
clickable = false;
}
else
answerd /= DoubleparseDouble(textAnswergetText());
break;
default:
answerd = DoubleparseDouble(textAnswergetText());
}
textAnswersetText("");
prekey = key = 1;
}
//'' *** 作
if (temp == buttonMul) {
switch (prekey) {
case 0:
answerd += DoubleparseDouble(textAnswergetText());
break;
case 1:
answerd -= DoubleparseDouble(textAnswergetText());
break;
case 2:
answerd = DoubleparseDouble(textAnswergetText());
break;
case 3:
if (DoubleparseDouble(textAnswergetText()) == 0) {
textAnswersetText("除数不能为零");
clickable = false;
}
else
answerd /= DoubleparseDouble(textAnswergetText());
break;
default:
answerd = DoubleparseDouble(textAnswergetText());
}
textAnswersetText("");
prekey = key = 2;
}
//'/' *** 作
if (temp == buttonDiv) {
switch (prekey) {
case 0:
answerd += DoubleparseDouble(textAnswergetText());
break;
case 1:
answerd -= DoubleparseDouble(textAnswergetText());
break;
case 2:
answerd = DoubleparseDouble(textAnswergetText());
break;
case 3:
if (DoubleparseDouble(textAnswergetText()) == 0) {
textAnswersetText("除数不能为零");
clickable = false;
}
else
answerd /= DoubleparseDouble(textAnswergetText());
break;
default:
answerd = DoubleparseDouble(textAnswergetText());
}
textAnswersetText("");
prekey = key = 3;
}
}
//'=' *** 作
if (temp == buttonEqual && clickable == true) {
//如果连续按'=',则进行连续运算
if (prekey == 5) {
if (key == 0) {
answerd += vard;
textAnswersetText(dfformat(answerd));
}
if (key == 1) {
answerd -= vard;
textAnswersetText(dfformat(answerd));
}
if (key == 2) {
answerd = vard;
textAnswersetText(dfformat(answerd));
}
if (key == 3) {
if (DoubleparseDouble(textAnswergetText()) == 0) {
textAnswersetText("除数不能为零");
clickable = false;
}
else {
answerd /= vard;
textAnswersetText(dfformat(answerd));
}
}
}
else {
vard = DoubleparseDouble(textAnswergetText());
if (key == 0) {
prekey = -1;
answerd += DoubleparseDouble(textAnswergetText());
textAnswersetText(dfformat(answerd));
}
if (key == 1) {
prekey = -1;
answerd -= DoubleparseDouble(textAnswergetText());
textAnswersetText(dfformat(answerd));
}
if (key == 2) {
prekey = -1;
answerd = DoubleparseDouble(textAnswergetText());
textAnswersetText(dfformat(answerd));
}
if (key == 3) {
prekey = -1;
if (DoubleparseDouble(textAnswergetText()) == 0) {
textAnswersetText("除数不能为零");
clickable = false;
}
else {
answerd /= DoubleparseDouble(textAnswergetText());
textAnswersetText(dfformat(answerd));
}
}
}
prekey = 5;
}
//'%' *** 作,对第二个 *** 作数除以100
if (temp == buttonMod && clickable == true) {
if (answerd == 0) {
String s = textAnswergetText();
textAnswersetText(s);
}
else {
boolean isDot = false;
for (int i = 0; i < textAnswergetText()length(); i++)
if ('' == textAnswergetText()charAt(i)) {
isDot = true;
break;
}
//如果是double数,除100
if (isDot == true) {
double dtemp = DoubleparseDouble(textAnswergetText());
dtemp = dtemp / 1000;
textAnswersetText(DoubletoString(dtemp));
}
else {
//如果是int数但能被100整除,则去掉末尾两个零
if (IntegerparseInt(textAnswergetText()) % 100 == 0) {
int itemp = IntegerparseInt(textAnswergetText());
itemp /= 100;
textAnswersetText(IntegertoString(itemp));
}
//如果是int数,但不能被100整除,则按double数处理
else {
double dtemp = DoubleparseDouble(textAnswergetText());
dtemp = dtemp / 1000;
textAnswersetText(DoubletoString(dtemp));
}
}
}
}
//开根号运算
if (temp == buttonSqrt && clickable == true) {
String s = textAnswergetText();
if (scharAt(0) == '-') {
textAnswersetText("负数不能开根号");
clickable = false;
}
else
textAnswersetText(DoubletoString(javalangMathsqrt(DoubleparseDouble(textAnswergetText()))));
}
//倒数运算
if (temp == buttonDao && clickable == true) {
if (textAnswergetText()charAt(0) == '0' && textAnswergetText()length() == 1) {
textAnswersetText("零不能求倒数");
clickable = false;
}
else {
boolean isDec = true;
int i, j, k;
String s = DoubletoString(1 / DoubleparseDouble(textAnswergetText()));
for (i = 0; i < slength(); i++)
if (scharAt(i) == '')
break;
for (j = i + 1; j < slength(); j++)
if (scharAt(j) != '0') {
isDec = false;
break;
}
if (isDec == true) {
String stemp = "";
for (k = 0; k < i; k++)
stemp += scharAt(k);
textAnswersetText(stemp);
}
else
textAnswersetText(s);
}
}
//按下'+/-'按钮时处理
if (temp == buttonAddAndSub && clickable == true) {
boolean isNumber = true;
String s = textAnswergetText();
for (int i = 0; i < slength(); i++)
if (! (scharAt(i) >= '0' && scharAt(i) <= '9' || scharAt(i) == '' || scharAt(i) == '-')) {
isNumber = false;
break;
}
if (isNumber == true) {
//如果当前字符串首字母有'-'号,代表现在是个负数,再按下时,则将首符号去掉
if (scharAt(0) == '-') {
textAnswersetText("");
for (int i = 1; i < slength(); i++) {
char a = scharAt(i);
textAnswersetText(textAnswergetText() + a);
}
}
//如果当前字符串第一个字符不是符号,则添加一个符号在首字母处
else
textAnswersetText('-' + s);
}
}
//计算器有关内存 *** 作
//'MC'的 *** 作,将内存清0
if (temp == buttonMC && clickable == true) {
memoryd = memoryi = 0;
textMemorysetText("");
}
//'MS'的 *** 作,将当前文本框内容保存入内存,显示'M'
if (temp == buttonMS && clickable == true) {
boolean isDot = false;
textMemorysetText(" M");
for (int i = 0; i < textAnswergetText()length(); i++)
if ('' == textAnswergetText()charAt(i)) {
isDot = true;
break;
}
//如果是double,则存入memoryd(double存储器)
if (isDot == true) {
memoryd = DoubleparseDouble(textAnswergetText());
memoryi = 0; //保证存储器中存放最新的值
}
//如果是int,则存入memoryi(int存储器)
else {
memoryi = IntegerparseInt(textAnswergetText());
memoryd = 0; //保证存储器中存放最新的值
}
}
//'MR'的 *** 作,将存储器中的信息输出
if (temp == buttonMR && clickable == true) {
if (memoryd != 0)
textAnswersetText(DoubletoString(memoryd));
if (memoryi != 0)
textAnswersetText(IntegertoString(memoryi));
}
//'M+'的功能,将当前文本框里的数据和存储器中数据相加后,再存入存储器
if (temp == buttonMAdd && clickable == true) {
boolean isDot = false;
for (int i = 0; i < textAnswergetText()length(); i++)
if ('' == textAnswergetText()charAt(i)) {
isDot = true;
break;
}
if (memoryi != 0) { //存储中是一个int型数
if (isDot == false) //被加数是一个int型数
memoryi += IntegerparseInt(textAnswergetText());
else { //被加数是一个double型数,则将int存储器中数传入double存储器与当前数相加,int存储器清零
memoryd = memoryi + DoubleparseDouble(textAnswergetText());
memoryi = 0;
}
}
else
memoryd += DoubleparseDouble(textAnswergetText());
}
//按下'Backspace'键,利用循环将当前字符串中的最后一个字母删除
if (temp == buttonBk && clickable == true) {
String s = textAnswergetText();
textAnswersetText("");
for (int i = 0; i < slength() - 1; i++) {
char a = scharAt(i);
textAnswersetText(textAnswergetText() + a);
}
}
//按下'CE'按钮,将当前文本框内数据清除
if (temp == buttonCe) {
textAnswersetText("");
clickable = true;
}
//按下'C'按钮,文本框内数据清除,同时var,answer清0
if (temp == buttonC) {
vard = answerd = 0;
textAnswersetText("");
clickable = true;
}
//按下'复制'菜单栏
if (temp == copyItem) {
copy = textAnswergetText();
}
//按下'粘贴'菜单栏
if (temp == pasteItem) {
textAnswersetText(copy);
}
if (temp == sItem) {
JOptionPaneshowMessageDialog(panel, "当前是标准型计算器,\n科学型计算器有待更新。");
}
//按下'帮助主题'菜单栏
if (temp == topHelp) {
JOptionPaneshowMessageDialog(panel, scrollHelp);
}
//按下'数字分组'菜单栏
if (temp == numberGroup) {
if (numberGroupgetText()compareTo(" 数字分组(I)") == 0)
numberGroupsetText("√数字分组(I)");
else
numberGroupsetText(" 数字分组(I)");
}
//按下'关于'菜单栏
if (temp == aboutCal) {
JOptionPaneshowMessageDialog(panel, "计算器100版\n开发者:楼竞");
}
} catch (Exception e) { //输入中如果有 *** 作非法,比如按下两次'+',捕获异常
textAnswersetText(" *** 作非法");
clickable = false;
}
}
//主函数
public static void main(String args[]) {
new Caculator();
}
}

对于开平方,可以使用数学工具包javalangMath类中的sqrt函数, 而对于开任意次方可以借助Math类中的pow函数完成
调用格式如下:
Mathsqrt(20);//对2开平方
Mathpow(90, 10/30);//对9开三次方,开其他次方依次类推
sqrt函数原型:
public static double sqrt(double a)
作用是返回正确舍入的double值的正平方根。
参数a的各种取值得到的结果:
1、如果参数是 NaN 或小于零,那么结果是 NaN。
2、如果参数是正无穷大,那么结果就是正无穷大。
3、如果参数是正零或负零,那么结果与参数相同。
否则,结果是最接近该参数值的真实数学平方根的 double 值。
pow函数原型
public static double pow(double a, double b)
作用是返回a的b次幂,详情请参考java api。

//以下方法传入delta值,返回含有delta开平方的最简表达式x√y的x和y的值的数组
public int[] handleSquareLoop(int delta) {
for (int i = delta; i > 0; i --) {
if (delta % (i i) == 0) {
int[] feedback = {i, delta / (i i)};
return feedback;
}
}
int[] feedback = {};
return feedback;
}

在javalang包中有个public final Math类,类中函数如下
static double abs(double a)
返回 double 值的绝对值。
static float abs(float a)
返回 float 值的绝对值。
static int abs(int a)
返回 int 值的绝对值。
static long abs(long a)
返回 long 值的绝对值。
static double acos(double a)
返回一个值的反余弦;返回的角度范围在 00 到 pi 之间。
static double asin(double a)
返回一个值的反正弦;返回的角度范围在 -pi/2 到 pi/2 之间。
static double atan(double a)
返回一个值的反正切;返回的角度范围在 -pi/2 到 pi/2 之间。
static double atan2(double y, double x)
将矩形坐标 (x, y) 转换成极坐标 (r, theta),返回所得角 theta。
static double cbrt(double a)
返回 double 值的立方根。
static double ceil(double a)
返回最小的(最接近负无穷大)double 值,该值大于等于参数,并等于某个整数。
static double copySign(double magnitude, double sign)
返回带有第二个浮点参数符号的第一个浮点参数。
static float copySign(float magnitude, float sign)
返回带有第二个浮点参数符号的第一个浮点参数。
static double cos(double a)
返回角的三角余弦。
static double cosh(double x)
返回 double 值的双曲线余弦。
static double exp(double a)
返回欧拉数 e 的 double 次幂的值。
static double expm1(double x)
返回 ex -1。
static double floor(double a)
返回最大的(最接近正无穷大)double 值,该值小于等于参数,并等于某个整数。
static int getExponent(double d)
返回 double 表示形式中使用的无偏指数。
static int getExponent(float f)
返回 float 表示形式中使用的无偏指数。
static double hypot(double x, double y)
返回 sqrt(x2 +y2),没有中间溢出或下溢。
static double IEEEremainder(double f1, double f2)
按照 IEEE 754 标准的规定,对两个参数进行余数运算。
static double log(double a)
返回 double 值的自然对数(底数是 e)。
static double log10(double a)
返回 double 值的底数为 10 的对数。
static double log1p(double x)
返回参数与 1 之和的自然对数。
static double max(double a, double b)
返回两个 double 值中较大的一个。
static float max(float a, float b)
返回两个 float 值中较大的一个。
static int max(int a, int b)
返回两个 int 值中较大的一个。
static long max(long a, long b)
返回两个 long 值中较大的一个。
static double min(double a, double b)
返回两个 double 值中较小的一个。
static float min(float a, float b)
返回两个 float 值中较小的一个。
static int min(int a, int b)
返回两个 int 值中较小的一个。
static long min(long a, long b)
返回两个 long 值中较小的一个。
static double nextAfter(double start, double direction)
返回第一个参数和第二个参数之间与第一个参数相邻的浮点数。
static float nextAfter(float start, double direction)
返回第一个参数和第二个参数之间与第一个参数相邻的浮点数。
static double nextUp(double d)
返回 d 和正无穷大之间与 d 相邻的浮点值。
static float nextUp(float f)
返回 f 和正无穷大之间与 f 相邻的浮点值。
static double pow(double a, double b)
返回第一个参数的第二个参数次幂的值。
static double random()
返回带正号的 double 值,该值大于等于 00 且小于 10。
static double rint(double a)
返回最接近参数并等于某一整数的 double 值。
static long round(double a)
返回最接近参数的 long。
static int round(float a)
返回最接近参数的 int。
static double scalb(double d, int scaleFactor)
返回 d × 2scaleFactor,其舍入方式如同将一个正确舍入的浮点值乘以 double 值集合中的一个值。
static float scalb(float f, int scaleFactor)
返回 f × 2scaleFactor,其舍入方式如同将一个正确舍入的浮点值乘以 float 值集合中的一个值。
static double signum(double d)
返回参数的符号函数;如果参数为 0,则返回 0;如果参数大于 0,则返回 10;如果参数小于 0,则返回 -10。
static float signum(float f)
返回参数的符号函数;如果参数为 0,则返回 0;如果参数大于 0,则返回 10;如果参数小于 0,则返回 -10。
static double sin(double a)
返回角的三角正弦。
static double sinh(double x)
返回 double 值的双曲线正弦。
static double sqrt(double a)
返回正确舍入的 double 值的正平方根。
static double tan(double a)
返回角的三角正切。
static double tanh(double x)
返回 double 值的双曲线余弦。
static double toDegrees(double angrad)
将用弧度表示的角转换为近似相等的用角度表示的角。
static double toRadians(double angdeg)
将用角度表示的角转换为近似相等的用弧度表示的角。
static double ulp(double d)
返回参数的 ulp 大小。
static float ulp(float f)
返回参数的 ulp 大小。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12605287.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存