C/C++クラシックプログラムトレーニング3---アナログ計算機
Problem Description
単純計算機シミュレーション:2つの整数と1つの演算子を入力し、演算結果を出力します。Input
1行目は2つの整数を入力し、スペースで区切ってください。2行目には演算子(+、-、*、/)を入力します。すべての演算は整数演算です。除数は0を含まないようにします。Output
二つの数を演算した結果を出力します。Sample Input
30 50*Sample Output
1500はまず対象に向けて分析して解く:
単純計算機シミュレーション:2つの整数と1つの演算子を入力し、演算結果を出力します。Input
1行目は2つの整数を入力し、スペースで区切ってください。2行目には演算子(+、-、*、/)を入力します。すべての演算は整数演算です。除数は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;
}
}