オプション4(除算)の浮動小数点除算に明示的な型キャストを使用しているかどうかはわかりません。私は浮動小数点の分割が何であるかを理解する助けが必要です。浮動小数点除算のJava明示型キャスト
2つのオペランドを格納するために整数を使用しなければなりません。結果を格納するには2倍です。オプション4の浮動小数点除算には、明示的な型キャストを使用する必要があります。また、switch文を使用してメニューの選択を処理します。各計算後
import java.util.Scanner;
public class SimpleCalculator
{
//-----------------------------------------------------------------
// Calculates two integers
// using values entered by the user.
//-----------------------------------------------------------------
public static void main(String[] args)
{
//Variables
final int ADDITION = 1,SUBTRACTION = 2, MULTIPLICATION = 3,DIVISION = 4, EXIT = 5;
int num1 = 0, num2 = 0, choice = 0;
double dblNum1, dblNum2, result;
String equation = "";
do
{
//Processing
equation = "";
Scanner scan = new Scanner(System.in);
System.out.println("Choose from the following: ");
System.out.println("1. Add 2 integers");
System.out.println("2. Subtract 2 integers");
System.out.println("3. Multiply 2 integers");
System.out.println("4. Divide 2 integers");
System.out.println("5. Exit");
System.out.print("Enter choice: ");
choice = scan.nextInt();
if(choice < 5 && choice > 0)//keeps program from asking for two numbers if exiting
{
System.out.print("Enter first integer: ");
num1 = scan.nextInt();
System.out.print("Enter second integer: ");
num2 = scan.nextInt();
}
//switch for operations
switch (choice)
{
case ADDITION:
result = num1 + num2;
equation = ((num1) + " + " + (num2) + " = "+ result);
break;
case SUBTRACTION:
result = num1 - num2;
equation = ((num1) + " - " + (num2) + " = "+ result);
break;
case MULTIPLICATION:
result = num1 * num2;
equation = ((num1) + " * " + (num2) + " = "+ result);
break;
case DIVISION:
if(num2 == 0)//when denominator becomes zero
{
System.out.println("DIVISION NOT POSSIBLE");
break;
}
dblNum1 = num1;//convert int to double
dblNum2 = num2;
result = dblNum1/dblNum2;
equation = ((num1) + "/" + (num2) + " = "+ result);
break;
case EXIT:
System.exit(0);
break;
default:
System.out.println("YOU HAVE ENTERED AN INCORRECT CHOICE");
}
//Output
System.out.println(equation);
System.out.println();
}while(choice != EXIT);
}
}
"暗黙のキャスト"は、新しい変数またはより広い型に値を割り当てるときに起こることです。たとえば、 'int'式を' double'変数に代入すると、これはあなたの行ったことです。 「明示的キャスト」は、実際にキャスト演算子をコードに配置するときです。これはTed Hoppの答えです。 –