Lesson_5 作业_1 ---- 简单计算器模拟
一、作业描述
编写Java程序,模拟简单的计算器。
定义名为Number的类,其中有两个整型数据成员n1和n2,应声明为私有。编写构造方法,赋予n1和n2初始值,再为该类定义加(addition)、减(subtraction)、乘(multiplication)、除(division)等公有成员方法,分别对两个成员变量执行加、减、乘、除的运算。
在main方法中创建Number类的对象,调用各个方法,并显示计算结果。
二、代码
// Lesson_5 2013-01-15
1 /*********************************************************** 2 * 3 * 简单计算器模拟 4 * 2013-01-16 5 * by CocoonFan 6 * 7 ***********************************************************/ 8 9 10 import java.util.Scanner; 11 12 public class Calculator{ 13 public static void main(String []args){ 14 while(true){ 15 System.out.println("请输入两个个操作数 (输入0 0结束):"); 16 Scanner sc_a = new Scanner(System.in); 17 Scanner sc_b = new Scanner(System.in); 18 19 int a = sc_a.nextInt(); 20 int b = sc_a.nextInt(); 21 22 if(a ==0 && b==0) break; 23 24 Number calc = new Number(a, b); 25 calc.addition(); 26 calc.subtraction(); 27 calc.multiplication(); 28 calc.division(); 29 } 30 31 } 32 } 33 34 class Number{ 35 private int n1; 36 private int n2; 37 38 //构造方法,设置初始值 39 public Number(){ 40 n1 = 1; 41 n2 = 1; 42 } 43 public Number(int n1, int n2){ 44 this.n1 = n1; 45 this.n2 = n2; 46 } 47 48 //加法 49 public int addition(){ 50 System.out.println(n1 + " + " + n2 + " = " + (n1 + n2)); 51 return n1 + n2; 52 } 53 54 //减法 55 public int subtraction(){ 56 System.out.println(n1 + " - " + n2 + " = " + (n1 - n2)); 57 return n1 - n2; 58 } 59 60 //乘法 61 public int multiplication(){ 62 System.out.println(n1 + " x " + n2 + " = " + (n1 * n2)); 63 return n1 * n2; 64 } 65 66 //除法 67 public double division(){ 68 if(n2 == 0){ 69 System.out.println("执行除法的时候出错了!--> 被除数为0\n"); 70 return 0.0; 71 }else{ 72 System.out.println(n1 + " / " + n2 + " = " + ((n1*1.0) / n2) + "\n"); 73 } 74 return ((n1*1.0)/n2); 75 } 76 }
老师写的
1 /**************************************************************** 2 * 作业解答 3 * 题目一:简单计算器模拟 4 * note by CocoonFan 5 * 2013-01-16 6 ****************************************************************/ 7 8 /* -------------------------复习-------------------------------- 9 [访问修饰符] class 类名{ 10 1.属性-特征(变量) 11 [访问修饰符] 数据类型 变量名(成员变量) [ = 初始值]; 12 13 2.方法-功能(作用) 14 [访问修饰符] 方法返回 void|数据类型 方法名([数据类型 参数1,···]){ 15 当方法返回某个数据类型的时候,方法体中必须要return相应的值。 16 } 17 18 3.构造方法:方法名与类名一致,且没有返回类型。 19 } 20 21 ----------------------------------------------------------------*/ 22 23 public class Ans_Calculator{ 24 public static void main(String []args){ 25 Number number = new Number(12, 38); 26 System.out.println("加法" + number.add()); 27 System.out.println("减法" + number.sub()); 28 System.out.println("乘法" + number.mul()); 29 System.out.println("除法" + number.div()); 30 } 31 } 32 33 class Number{ 34 private int n1;//全局变量 35 private int n2; 36 37 //参数为局部变量,当全局变量和局部变量同名的时候局部变量会隐藏全局变量 38 public Number(int n1, int n2){ 39 //如果想要访问到同名的成员变量,则需要使用this关键字 40 this.n1 = n1; 41 this.n2 = n2; 42 } 43 44 public int add(){ 45 return n1 + n2; 46 } 47 48 public int sub(){ 49 return this.n1 - this.n2;//加不加this效果一样 50 } 51 52 public int mul(){ 53 return n1*n2; 54 } 55 56 public int div(){ 57 if(n2 != 0){ 58 return n1/n2; 59 }else{ 60 return -1; 61 } 62 } 63 }
三、运行结果