C/C++クラシックプログラムトレーニング3---アナログ計算機

2606 ワード

Problem Description
単純計算機シミュレーション: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;
	}
}