[JAVA] Programme de calculatrice

//キーボード入力インポート import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.math.BigDecimal;

//クラス開始 public class Original {

//メインメソッド開始************************** public static void main(String[] args) throws IOException {

//キーボード入力準備 BufferedReader br = new BufferedReader (new InputStreamReader(System.in));

	String now = "0";
	String input = "";
	String enzan = "";

String msg = "Numérique"; String data = "";

//無限ループ while(true){ try {

			//******************************************
			System.out.println("\n"+"***************************");
			System.out.println(" ");

System.out.println ("Valeur actuelle:" + maintenant); System.out.println ("opérateur:" + enzan); System.out.println ("Valeur saisie:" + entrée); Entrez System.out.print (msg + ">>"); //******************************************

//dataに入力値を代入する data = br.readLine();

			//A-1
			if(hantei(data)){

BigDecimal bd_data = new BigDecimal (data); // Convertir en décimal BigDecimal er = new BigDecimal(0);

bd_data = bd_data.stripTrailingZeros (); // Effacer zéro

				//B-1

if ("valeur numérique" .equals (msg)) { now = bd_data.toPlainString(); msg = "opérateur";

					//C-1

} else if ("numérique ou opérateur" .equals (msg)) { //D-1 if("/".equals(enzan) && bd_data.equals(er)){ System.out.println ("ne casse pas à 0");

					}else{
						input = bd_data.toPlainString();

msg = "opérateur"; } //C-1 }else{ System.out.println ("Erreur! Veuillez saisir l'opérateur" + "\ n"); }

				//A-2
			}else{

				if("+".equals(data) || "-".equals(data) ||
						"*".equals(data) || "/".equals(data) ||
						"=".equals(data)){

//msgが数値のとき if ("valeur numérique" .equals (msg)) { System.out.print ("Erreur! Veuillez saisir un nombre");

//msgが数値又は演算子のとき } else if ("numérique ou opérateur" .equals (msg)) {

//dataが=だったら if("=".equals(data)){ System.out.print ("Erreur! Veuillez saisir un nombre"); }else{ enzan = data; msg = "Numérique ou Opérateur"; }

//msgが演算子のとき }else{

//inputが空だったら if("".equals(input)){ if("=".equals(data)){ System.out.print ("Erreur! Veuillez saisir autre chose qu'égal"); }else{ enzan = data; msg = "Numérique ou Opérateur"; }

//inputに値が入っていたら }else{

							BigDecimal bd1 = new BigDecimal(now);
							BigDecimal bd2 = new BigDecimal(input);

//足し算 if("+".equals(enzan)){ BigDecimal ans1 = bd1.add(bd2);

								now = ans1.toPlainString();
								input = "";

//引き算 }else if("-".equals(enzan)){ BigDecimal ans2 = bd1.subtract(bd2);

								now = ans2.toPlainString();
								input = "";

//掛け算 }else if("*".equals(enzan)){ BigDecimal ans3 = bd1.multiply(bd2);

								now = ans3.toPlainString();
								input = "";

//割り算(四捨五入・20桁まで表示) }else{ BigDecimal ans4 = bd1.divide(bd2,20,BigDecimal.ROUND_HALF_UP);

								ans4 = ans4.stripTrailingZeros();
								now = ans4.toPlainString();
								input = "";
							}

//dataが=だった場合 if("=".equals(data)){ enzan = ""; //=でない場合 }else{ enzan = data; msg = "Numérique ou Opérateur"; } } // S'il y a une valeur en entrée } // Lorsque msg est un opérateur

					//A-3
				}else if("c".equals(data)){
					now = "0";
					enzan = "";
					input = "";

msg = "valeur numérique"; System.out.print ("effacé");

					//A-4
				}else if("ce".equals(data)){

					//B-3
					if(input != ""){
						input = "";

msg = "Numérique ou Opérateur"; //C-3 }else{ if(enzan != ""){ enzan = ""; msg = "opérateur";

						}else{
							now = "0";

msg = "valeur numérique"; } }

					//A-5
				}else if("e".equals(data)){

System.out.print ("Quitter le programme"); break; }else{ System.out.print ("\ n" + "erreur! Valeur d'entrée non prise en charge"); }

			}//A-2
		}catch (Exception e) {

// Bloc catch généré automatiquement par TODO System.out.print ("Erreur inattendue"); e.printStackTrace(); } }//boucle infinie } // Méthode

//判定メソッド************************************** public static boolean hantei(String data){

	boolean brea = true;

	try{
		Double.parseDouble(data);

	}catch (NumberFormatException e){
		brea = false;
	}
	return	brea;

}

//************************************************** }

Recommended Posts

Programme de calculatrice
[Java] Création d'un programme de calcul 1
Programme Zundoko
Calculateur de frettes de guitare
Programme de calcul des salaires Ruby
Programme FizzBuzz (2 types)
Programme de jugement de bingo