You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

138 lines
3.7 KiB

5 years ago
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;
5 years ago
System.out.println("对数 0;sin 6;cos 7;tan 8;e的指数 1加 2减 3乘 4除 5 ");
5 years ago
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();
}
5 years ago
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);
}
5 years ago
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);
}
5 years ago
}
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;
}
}