java arccos是什么,讓我們一起了解一下?
成都創(chuàng)新互聯(lián)專注于江夏網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠為您提供江夏營銷型網(wǎng)站建設(shè),江夏網(wǎng)站制作、江夏網(wǎng)頁設(shè)計(jì)、江夏網(wǎng)站官網(wǎng)定制、小程序開發(fā)服務(wù),打造江夏網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供江夏網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。
arccos是java中數(shù)學(xué)運(yùn)算的三角函數(shù)方法,cos() 三角余弦,通過編程Java代碼實(shí)現(xiàn),常用的還有sin()為 三角正弦,tan() 三角正切,asin() 正弦的反函數(shù),cos() 余弦的反函數(shù),tan() 正切的反函數(shù)。
他的源代碼如下:
public?class?MainTest?{ ????public?static?void?main(String[]?args)?{ ????????//求sin值 ????????double?sin?=?Math.sin(3.14); ????????System.out.println("sin3.14="?+?sin); ????????//求cos值 ????????double?cos?=?Math.cos(0); ????????System.out.println("cos0="?+?cos); ????????//求tan值 ????????double?tan?=?Math.tan(0.785); ????????System.out.println("tan0.785="?+?tan); ????????//求arcsin ????????double?arcsin?=?Math.asin(1); ????????System.out.println("arcsin1?=?"?+?arcsin); ????????//求arccos ????????double?arccos?=?Math.acos(1); ????????System.out.println("arccos?=?"?+?arccos); ????????//求arctan ????????double?arctan?=?Math.atan(30); ????????System.out.println("arctan30?=?"?+?arctan); ????????//求弧度 ????????double?radians?=?Math.toRadians(180); ????????System.out.println("180度角的弧度為"?+?radians); ????????//求角度 ????????double?angle?=?Math.toDegrees(3.141592653589793); ????????System.out.println("π的角度數(shù)為"?+?angle); ????????//求以e為底的指數(shù) ????????double?exp?=?Math.exp(1); ????????System.out.println("以e為底指數(shù)為1的數(shù)為"?+?exp); ????????//求以e為底e的平方的對(duì)數(shù) ????????double?log?=?Math.log(Math.E?*?Math.E); ????????System.out.println("以e為底e的平方的對(duì)數(shù)"?+?log); ????????//求以10為底100的對(duì)數(shù) ????????double?log10?=?Math.log10(100); ????????System.out.println("以10為底100的對(duì)數(shù)"?+?log10); ????????//求100的平方根 ????????double?sqrt?=?Math.sqrt(100); ????????System.out.println("100的平方根是"?+?sqrt); ????????//求27的立方根 ????????double?cbrt?=?Math.cbrt(27); ????????System.out.println("27的立方根是"?+?cbrt); ????????//求10除以3的余數(shù) ????????double?rest?=?Math.IEEEremainder(10,?3); ????????System.out.println("10除以3的余數(shù)為"?+?rest); ????????//求0.9向上取整 ????????double?ceil?=?Math.ceil(0.9); ????????System.out.println("0.9向上取整"?+?ceil); ????????//求2.49向下取整 ????????double?floor?=?Math.floor(2.49); ????????System.out.println("2.49向下取整"?+?floor); ????????//求最接近參數(shù)的整數(shù)值(若有兩個(gè)滿足條件的數(shù)據(jù)則取為偶數(shù)的數(shù)據(jù)) ????????double?rint?=?Math.rint(3.5); ????????System.out.println("最接近參數(shù)的整數(shù)值"?+?rint); ????????//獲得(1,1)坐標(biāo)與x軸夾角度數(shù) ????????double?atan2?=?Math.atan2(1,?1); ????????System.out.println("坐標(biāo)(1,1)的極坐標(biāo)為"?+?atan2); ????????//求3的5次方 ????????double?pow?=?Math.pow(3,?5); ????????System.out.println("3的5次方"?+?pow); ????????//4舍5入 ????????double?round?=?Math.round(3.5); ????????System.out.println("3.5四舍五入為"?+?round); ????????//計(jì)算2
java.lang.Math類
Math中的方法
double b;
b=sin(double a) 返回a角的三角正弦。
b=cos(double a) 返回a角的三角余弦。
有這個(gè)工具包的,在java.math.Math類常中。
Math.PI 記錄的圓周率
Math.sin 正弦函數(shù)
Math.asin 反正弦函數(shù)
Math.cos 余弦函數(shù)
Math.acos 反余弦函數(shù)
Math.tan 正切函數(shù)
Math.atan 反正切函數(shù)
Math.atan2 商的反正切函數(shù)
Math.toDegrees 弧度轉(zhuǎn)化為角度
Math.toRadians 角度轉(zhuǎn)化為弧度
我覺得寫得還可以,累死了,50分不容易啊
你還可以修改一下
import java.applet.Applet;
import javax.swing.*;
import javax.swing.border.*;
public class Calculator extends JApplet implements ActionListener
{
private final String[] KEYS={"7","8","9","/","sqrt",
"4","5","6","*","%",
"1","2","3","-","1/x",
"0","+/-",".","+","="
};
private final String[] COMMAND={"Backspace","CE","C"};
private final String[] M={" ","MC","MR","MS","M+"};
private JButton keys[]=new JButton[KEYS.length];
private JButton commands[]=new JButton[COMMAND.length];
private JButton m[]=new JButton[M.length];
private JTextField display =new JTextField("0");
// public JTextField setHorizontalAlignment(int alignment);
// private JTextField display.setHorizontalAlignment(JTextField.RIGHT)=new JTextField("0");
private void setup()
{
display.setHorizontalAlignment(JTextField.RIGHT);
JPanel calckeys=new JPanel();
JPanel command=new JPanel();
JPanel calms=new JPanel();
calckeys.setLayout(new GridLayout(4,5,3,3));
command.setLayout(new GridLayout(1,3,3,3));
calms.setLayout(new GridLayout(5,1,3,3));
for(int i=0;iKEYS.length;i++)
{
keys[i]=new JButton(KEYS[i]);
calckeys.add(keys[i]);
keys[i].setForeground(Color.blue);
}
keys[3].setForeground(Color.red);
keys[4].setForeground(Color.red);
keys[8].setForeground(Color.red);
keys[9].setForeground(Color.red);
keys[13].setForeground(Color.red);
keys[14].setForeground(Color.red);
keys[18].setForeground(Color.red);
keys[19].setForeground(Color.red);
for(int i=0;iCOMMAND.length;i++)
{
commands[i]=new JButton(COMMAND[i]);
command.add(commands[i]);
commands[i].setForeground(Color.red);
}
for(int i=0;iM.length;i++)
{
m[i]=new JButton(M[i]);
calms.add(m[i]);
m[i].setForeground(Color.red);
}
JPanel panel1=new JPanel();
panel1.setLayout(new BorderLayout(3,3));
panel1.add("North",command);
panel1.add("Center",calckeys);
JPanel top=new JPanel();
top.setLayout(new BorderLayout());
display.setBackground(Color.WHITE);
top.add("Center",display);
getContentPane().setLayout(new BorderLayout(3,5));
getContentPane().add("North",top);
getContentPane().add("Center",panel1);
getContentPane().add("West",calms);
}
public void init()
{
setup();
for(int i=0;iKEYS.length;i++)
{
keys[i].addActionListener(this);
}
for(int i=0;iCOMMAND.length;i++)
{
commands[i].addActionListener(this);
}
for(int i=0;iM.length;i++)
{
m[i].addActionListener(this);
}
display.setEditable(false);
}
public void actionPerformed(ActionEvent e)
{
String label=e.getActionCommand();
// double zero=e.getActionCommand();
if(label=="C")
handleC();
else if(label=="Backspace")
handleBackspace();
else if(label=="CE")
display.setText("0");
else if("0123456789.".indexOf(label)=0)
{handleNumber(label);
// handlezero(zero);
}
else
handleOperator(label);
}
private boolean firstDigit=true;
private void handleNumber(String key)
{
if(firstDigit)
display.setText(key);
else if((key.equals("."))(display.getText().indexOf(".")0))
display.setText(display.getText()+".");
else if(!key.equals("."))
display.setText(display.getText()+key);
firstDigit=false;
}
//private void handlezero(String key)
//{
// if(!((double)display.setText(key))
// display.setText(0);
// }
private double number=0.0;
private String operator="=";
private void handleOperator(String key)
{
if(operator.equals("/"))
{
if(getNumberFromDisplay()==0.0)
display.setText("除數(shù)不能為零");
else
{
number/=getNumberFromDisplay();
long t1;
double t2;
t1=(long)number;
t2=number-t1;
if(t2==0)
display.setText(String.valueOf(t1));
else
display.setText(String.valueOf(number));
}
}
else if(operator.equals("1/x"))
{
if(number==0.0)
display.setText("零沒有倒數(shù)");
else
{
number=1/number;
long t1;
double t2;
t1=(long)number;
t2=number-t1;
if(t2==0)
display.setText(String.valueOf(t1));
else
display.setText(String.valueOf(number));
}
}
else if(operator.equals("+"))
number+=getNumberFromDisplay();
else if(operator.equals("-"))
number-=getNumberFromDisplay();
else if(operator.equals("*"))
number*=getNumberFromDisplay();
else if(operator.equals("sqrt"))
{
number=Math.sqrt(number);
}
else if(operator.equals("%"))
number=number/100;
else if(operator.equals("+/-"))
number=number*(-1);
else if(operator.equals("="))
number=getNumberFromDisplay();
long t1;
double t2;
t1=(long)number;
t2=number-t1;
if(t2==0)
display.setText(String.valueOf(t1));
else
display.setText(String.valueOf(number));
operator=key;
firstDigit=true;
}
private double getNumberFromDisplay()
{
return Double.valueOf(display.getText()).doubleValue();
}
private void handleC()
{
display.setText("0");
firstDigit=true;
operator="=";
}
private void handleBackspace()
{
String text=display.getText();
int i=text.length();
if(i0)
{
text=text.substring(0,i-1);
if(text.length()==0)
{
display.setText("0");
firstDigit=true;
operator="=";
}
else
display.setText(text);
}
}
public static void main(String args[])
{
JFrame f=new JFrame();
Calculator Calculator1=new Calculator();
Calculator1.init();
f.getContentPane().add("Center",Calculator1);
f.setVisible(true);
f.setBounds(300,200,380,245);
f.setBackground(Color.LIGHT_GRAY);
f.validate();
f.setResizable(false);
f.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
f.setTitle("計(jì)算器");
}
}
java.lang.Math類中的如下方法均可:
public static double acos(double a)返回角的反余弦,范圍在 0.0 到 pi 之間;
public static double asin(double a)返回角的反正弦,范圍在 -pi/2 到 pi/2 之間;
public static double atan(double a)返回角的反正切,范圍在 -pi/2 到 pi/2 之間。
直接調(diào)用Math.acos(正玄值),然后乘以(180/pi) 轉(zhuǎn)化成角度。