黑马程序员技术交流社区
标题:
利用函数重载,做的一个计算器。
[打印本页]
作者:
kelin410
时间:
2016-3-7 13:03
标题:
利用函数重载,做的一个计算器。
做的不好。不要笑我。我是一个新手。
import java.util.Scanner;
class AddTest {
public static void main (String[] args) {
run ();
}
private static void run () {
System.out.println("您要进行什么运算?");
System.out.println("1.加法\t\t2.减法\t\t3.乘法\t\t4.除法");
Scanner sc = new Scanner(System.in);
int z = sc.nextInt();
switch (z) {
case 1:
select("加法");
break;
case 2:
select("减法");
break;
case 3:
select("乘法");
break;
case 4:
select("除法");
break;
default:
System.out.println("请选择正确的选项!");
run();
}
}
private static void select (String fh) {
System.out.println("请选择您要进行【小数】还是【整数】的加法运算");
System.out.println("1.整数\t\t2.小数\t\t3.返回");
Scanner sc = new Scanner(System.in);
String f;
switch (fh) {
case "加法":
f = "加";
break;
case "减法":
f = "减";
break;
case "乘法":
f = "乘";
break;
default:
f = "除";
}
int z = sc.nextInt();
switch (z) {
case 1:
System.out.println("请输入"+f+"数:");
int x = sc.nextInt();
System.out.println("请输入被"+f+"数:");
int y = sc.nextInt();
selectOperation (f,x,y);
select (fh);
case 2:
System.out.println("请输入"+f+"数:");
double n = sc.nextDouble();
System.out.println("请输入被"+f+"数:");
double u = sc.nextDouble();
selectOperation (f,n,u);
select (fh);
case 3:
run();
default:
System.out.println("请选择正确的选项!");
select (fh);
}
}
//选择运算double
private static void selectOperation (String f, double n, double u) {
switch (f) {
case "加":
System.out.println(n + " + " + u + " = " + add (n, u));
break;
case "减":
System.out.println(n + " - " + u + " = " + subtraction (n, u));
break;
case "乘":
System.out.println(n + " * " + u + " = " + multiplication (n, u));
break;
default:
System.out.println(n + " / " + u + " = " + division (n, u));
}
}
//选择运算int
private static void selectOperation (String f, int n, int u) {
switch (f) {
case "加":
System.out.println(n + " + " + u + " = " + add (n, u));
break;
case "减":
System.out.println(n + " - " + u + " = " + subtraction (n, u));
break;
case "乘":
System.out.println(n + " * " + u + " = " + multiplication (n, u));
break;
default:
System.out.println(n + " / " + u + " = " + division (n, u));
}
}
//整数加法运算
private static int add (int a, int b) {
return a+b;
}
//小数加法运算
private static double add (double a, double b) {
return a+b;
}
//整数减法
private static int subtraction (int a, int b) {
return a-b;
}
//小数减法
private static double subtraction (double a, double b) {
return a-b;
}
//整数乘法
private static int multiplication (int a, int b) {
return a*b;
}
//小数乘法
private static double multiplication (double a, double b) {
return a*b;
}
//整数除法
private static int division (int a, int b) {
return a/b;
}
//小数除法
private static double division (double a, double b) {
return a/b;
}
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2