|
|
package cal;
|
|
|
import java.util.Scanner;
|
|
|
import java.math.*;
|
|
|
|
|
|
public class Calculator {
|
|
|
public static void main(String[] args)
|
|
|
{
|
|
|
Scanner sc=new Scanner(System.in);
|
|
|
double result=1.0;
|
|
|
System.out.println("对数 0;sin 6;cos 7;tan 8;e的指数 1;加 2;减 3;乘 4;除 5 ");
|
|
|
String Command=sc.nextLine();
|
|
|
System.out.println("输入对应运算数值 两数以空格间隔");
|
|
|
String parameters=sc.nextLine();
|
|
|
if(Command.equals("0"))
|
|
|
result=Calculator.Log(parameters);
|
|
|
else if(Command.equals("1"))
|
|
|
{
|
|
|
//double x=Double.parseDouble(parameters);
|
|
|
ExFunction e = new ExFunction(Double.parseDouble(parameters));
|
|
|
result=e.index();
|
|
|
}
|
|
|
else if(Command.equals("2"))
|
|
|
{
|
|
|
String[] s=new String[2];
|
|
|
s=parameters.split(" ");
|
|
|
double a=Double.parseDouble(s[0]);
|
|
|
double b=Double.parseDouble(s[1]);
|
|
|
jjcc e = new jjcc();
|
|
|
result = e.add(a,b);
|
|
|
}
|
|
|
else if(Command.equals("3"))
|
|
|
{
|
|
|
String[] s=new String[2];
|
|
|
s=parameters.split(" ");
|
|
|
double a=Double.parseDouble(s[0]);
|
|
|
double b=Double.parseDouble(s[1]);
|
|
|
jjcc e = new jjcc();
|
|
|
result = e.sub(a,b);
|
|
|
}
|
|
|
else if(Command.equals("4"))
|
|
|
{
|
|
|
String[] s=new String[2];
|
|
|
s=parameters.split(" ");
|
|
|
double a=Double.parseDouble(s[0]);
|
|
|
double b=Double.parseDouble(s[1]);
|
|
|
jjcc e = new jjcc();
|
|
|
result = e.mul(a,b);
|
|
|
}
|
|
|
else if(Command.equals("5"))
|
|
|
{
|
|
|
String[] s=new String[2];
|
|
|
s=parameters.split(" ");
|
|
|
double a=Double.parseDouble(s[0]);
|
|
|
double b=Double.parseDouble(s[1]);
|
|
|
jjcc e = new jjcc();
|
|
|
result = e.div(a,b);
|
|
|
}
|
|
|
|
|
|
else if(Command.equals("6"))
|
|
|
result=Calculator.sin(parameters);
|
|
|
else if(Command.equals("7"))
|
|
|
result=Calculator.cos(parameters);
|
|
|
else if(Command.equals("8"))
|
|
|
result=Calculator.tan(parameters);
|
|
|
System.out.println(result);
|
|
|
|
|
|
}
|
|
|
public static double Log(String s)
|
|
|
{
|
|
|
String[] parameters=new String[2];
|
|
|
parameters=s.split(" ");
|
|
|
float a=Float.parseFloat(parameters[0]);
|
|
|
float b=Float.parseFloat(parameters[1]);
|
|
|
double result=Math.log(b)/Math.log(a);
|
|
|
return result;
|
|
|
}
|
|
|
public static double sin(String s)
|
|
|
{
|
|
|
double x=Double.parseDouble(s);
|
|
|
return Math.sin(Math.toRadians(x));//Math.toRadians()将角度转换为弧度
|
|
|
}
|
|
|
public static double cos(String s)
|
|
|
{
|
|
|
double x=Double.parseDouble(s);
|
|
|
return Math.cos(Math.toRadians(x));
|
|
|
}
|
|
|
public static double tan(String s)
|
|
|
{
|
|
|
double x=Double.parseDouble(s);
|
|
|
return Math.tan(Math.toRadians(x));
|
|
|
}
|
|
|
|
|
|
// public static double jjcc()
|
|
|
// {
|
|
|
//
|
|
|
// }
|
|
|
// public static double ex()
|
|
|
// {
|
|
|
//
|
|
|
// }
|
|
|
}
|
|
|
class ExFunction {
|
|
|
public double x;
|
|
|
|
|
|
public ExFunction(double x) {
|
|
|
this.x = x;
|
|
|
}
|
|
|
|
|
|
public double index() {
|
|
|
return Math.exp(x);
|
|
|
}
|
|
|
|
|
|
}
|
|
|
class jjcc {
|
|
|
|
|
|
public double x;
|
|
|
|
|
|
public jjcc() {
|
|
|
|
|
|
}
|
|
|
public double add(double a,double b)
|
|
|
{
|
|
|
return a+b;
|
|
|
}
|
|
|
public static double sub(double a,double b)
|
|
|
{
|
|
|
return a-b;
|
|
|
}
|
|
|
public static double mul(double a,double b)
|
|
|
{
|
|
|
return a*b;
|
|
|
}
|
|
|
public static double div(double a,double b)
|
|
|
{
|
|
|
return (double)a/b;
|
|
|
}
|
|
|
}
|