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

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

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;
}
}