Problem Description
简单计算器模拟:输入两个整数和一个运算符,输出运算结果。
Input
第一行输入两个整数,用空格分开;
第二行输入一个运算符(+、-、*、/)。
所有运算均为整数运算,保证除数不包含0。
Output
输出对两个数运算后的结果。
Sample Input
30 50
*
Sample Output
1500
先用面向对象分析解题:
import java.util.Scanner;
public class Main
{
public static void main(String[] args)
{
Scanner reader = new Scanner(System.in);
int m=reader.nextInt();
int n=reader.nextInt();
String op=reader.next();
Calculator Cal= new Calculator(m,n);//在栈空间中调用对象
char ch=op.charAt(0);
switch(ch)
{
case'+':
{
System.out.println(Cal.add());//输出对象中的add方法结果
break;
}
case'-':
{
System.out.println(Cal.sub());
break;
}
case'*':
{
System.out.println(Cal.mul());
break;
}
case'/':
{
System.out.println(Cal.div());
break;
}
}
reader.close();
}
}
class Calculator//创建一个类
{
int a;
int b;//定义成员变量
public Calculator(int a,int b)//构造方法的建立
{
this.a=a;
this.b=b;
}
public int add()//方法的建立
{
return a+b;
}
public int sub()
{
return a-b;
}
public int mul()
{
return a*b;
}
public int div()
{
return a/b;
}
}
再来看传统的解题思路:面向过程:
import java.util.Scanner;
public class Main
{
public static void main(String[] args)
{
Scanner reader = new Scanner(System.in);
int m=reader.nextInt();
int n=reader.nextInt();
String S=reader.next();
char c=S.charAt(0);
if(c=='+')
{
System.out.println(m+n);
}
else if(c=='-')
{
System.out.println(m-n);
}
else if(c=='*')
{
System.out.println(m*n);
}
else if(c=='/')
{
System.out.println(m/n);
}
reader.close();
}
}
import java.util.Scanner;
public class Main
{
public static void main(String[] args)
{
Scanner reader =new Scanner(System.in);
int n=reader.nextInt();
int m=reader.nextInt();
String string=reader.next();
JiSuanQi jiSuanQi =new JiSuanQi(n, m);
if(string.charAt(0)=='+')
System.out.println(jiSuanQi.add());
if(string.charAt(0)=='-')
System.out.println(jiSuanQi.sub());
if(string.charAt(0)=='*')
System.out.println(jiSuanQi.mul());
if(string.charAt(0)=='/')
System.out.println(jiSuanQi.div());
reader.close();
}
}
class JiSuanQi
{
int n;
int m;
public JiSuanQi(int n,int m)
{
this.n=n;
this.m=m;
}
public int add()
{
return n+m;
}
public int sub()
{
return n-m;
}
public int mul()
{
return n*m;
}
public int div()
{
return n/m;
}
}
浙公网安备 33010602011771号