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

109 lines
2.2 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 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();
}
}