采用java面向对象的方法设计一个计算器的类,其中计算器中包含了两个整数的加减乘除取余操作,以及一个整数的加一操作和减一操作。 实例化这个计算器类,并给每个方法输入一些测试数据。
import java.util.*;
public class Test {
public static void main(String[] args) {
operation();
do {
System.out.println("是否继续运算?(Y/N)");
Scanner scanner = new Scanner(System.in);
String s = scanner.nextLine();
if (s.equals("Y") || s.equals("y")) {
operation();
} else {
return;
}
}while (true);
}
public static void operation(){
System.out.println("请选择你要做的运算:1、两个整数运算;2、一个整数运算");
Scanner scan = new Scanner(System.in);
int choice = scan.nextInt();
if (choice == 1) {
System.out.println("请输入第一个整数:");
int x = scan.nextInt();
System.out.println("请输入第二个整数:");
int y = scan.nextInt();
Calculator c1 = new Calculator(x, y);
System.out.println("请选择要进行的运算:1、加法;2、减法;3、乘法;4、除法;5、取余");
int operation = scan.nextInt();
switch (operation) {
case 1:
c1.add();
break;
case 2:
c1.reduce();
break;
case 3:
c1.multiply();
break;
case 4:
c1.divide();
break;
case 5:
c1.remainder();
break;
default:
System.out.println("出错啦~");
break;
}
} else if (choice == 2) {
System.out.println("请输入一个整数:");
int x1 = scan.nextInt();
Calculator c2 = new Calculator(x1);
System.out.println("请选择要进行的运算:1、加一;2、减一;");
int operation2 = scan.nextInt();
switch (operation2) {
case 1:
c2.addOne();
break;
case 2:
c2.reduceOne();
break;
default:
System.out.println("出错啦~");
break;
}
}
}
}
class Calculator {
int x;
int y;
Calculator(int x, int y) {
this.x = x;
this.y = y;
}
Calculator(int x) {
this.x = x;
}
public void add() {
System.out.println("计算结果为:" + (x + y)+";");
}
public void reduce() {
System.out.println("计算为结果为:" + (x - y)+";");
}
public void multiply() {
System.out.println("计算为结果为:" + (x * y)+";");
}
public void divide() {
System.out.println("计算为结果为:" + (x / y)+";");
}
public void remainder() {
System.out.println("计算为结果为:" + (x % y)+";");
}
public void addOne() {
System.out.println("计算为结果为:" + (x + 1)+";");
}
public void reduceOne() {
System.out.println("计算为结果为:" + (x - 1)+";");
}
}
欢迎工作一到五年的Java工程师朋友们加入Java高并发: 957734884,群内提供免费的Java架构学习资料(里面有高可用、高并发、高性能及分布式、Jvm性能调优、Spring源码,MyBatis,Netty,Redis,Kafka,Mysql,Zookeeper,Tomcat,Docker,Dubbo,Nginx等多个知识点的架构资料)合理利用自己每一分每一秒的时间来学习提升自己,不要再用"没有时间“来掩饰自己思想上的懒惰!趁年轻,使劲拼,给未来的自己一个交代!
网友评论