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.
pxfqpjoma/main.java

109 lines
2.2 KiB

4 years ago
package Hello;
import java.io.*;
import java.util.*;
import java.math.*;
public class Hello{
public static double mypow(double e,double x) {
double ans=Math.pow(e, x);
return ans;
}
public static double mylog(double a,double x) {
double ans=Math.log(x)/Math.log(a);
return ans;
}
public static double myadd(double a,double b) {
return a+b;
}
public static double mysub(double a,double b) {
return a-b;
}
public static double mymultiply(double a,double b) {
return a*b;
}
public static double mydivide(double a,double b) {
return a/b;
}
public static double mysin(double x) {
return Math.sin(x);
}
public static double mycos(double x) {
return Math.cos(x);
}
public static double mytan(double x) {
return Math.tan(x);
}
public static void main(String args[]) {
Scanner cin=new Scanner(System.in);
System.out.printf("功能表:\n说明输入add a b执行a+b\n"
+ "pow e x\nlog a x\nadd a b\nsub a b\nmultiply a b\n"
+ "divide a b\nsin x\ncos x\ntan x\nquit:退出\n");
while (cin.hasNext()) {
String op=cin.next();
double a,b,ans=0;
switch(op) {
case "pow":
a=cin.nextDouble();
b=cin.nextDouble();
ans=mypow(a,b);
break;
case "log":
a=cin.nextDouble();
b=cin.nextDouble();
ans=mylog(a,b);
break;
case "add":
a=cin.nextDouble();
b=cin.nextDouble();
ans=myadd(a,b);
break;
case "sub":
a=cin.nextDouble();
b=cin.nextDouble();
ans=mysub(a,b);
break;
case "multiply":
a=cin.nextDouble();
b=cin.nextDouble();
ans=mymultiply(a,b);
break;
case "divide":
a=cin.nextDouble();
b=cin.nextDouble();
while(b==0) {
System.out.printf("除数不能为0请重新输入除数!\n");
b=cin.nextDouble();
}
ans=mydivide(a,b);
break;
case "sin":
a=cin.nextDouble();
ans=mysin(a);
break;
case "cos":
a=cin.nextDouble();
ans=mycos(a);
break;
case "tan":
a=cin.nextDouble();
ans=mytan(a);
break;
default:
System.out.println("已退出计算器\n");
return;
}
System.out.printf("%f\n",ans);
}
cin.close();
}
}