我有兩個變量都是浮點數,我希望除法返回整數。我已經嘗試了一些東西,比如Math.Round()並將其乘以1,然後除以1,我似乎無法使其工作。我怎樣才能分兩個浮點數,並得到一個整數
import java.util.Scanner;
public class Calculator
{
public static void main (String[] args)
{
float firstNumber;
float secondNumber;
char operator;
float answer;
float answerRemainder;
Scanner input = new Scanner (System.in);
System.out.print("Enter your first number");
firstNumber = input.nextInt();
System.out.print("Enter the operator (s for subtraction, a for addition, m for multiplication, d for division, r for division with a remainder))\n");
operator = input.next().charAt(0);
while (operator != 's' && operator != 'a' && operator != 'm' && operator != 'd' && operator != 'r')
{
System.out.print("\nYou have entered an incorrect character. Enter the operator (s for subtraction, a for addition, m for multiplication, d for division, r for division with a remainder)\n");
operator = input.next().charAt(0);
}
System.out.print("Enter your second number");
secondNumber = input.nextInt();
if (operator == 's')
{
System.out.print(firstNumber +" - "+secondNumber+" = "+(firstNumber - secondNumber));
}
else if (operator == 'a')
{
System.out.print(firstNumber +" + "+secondNumber+" = "+(firstNumber + secondNumber));
}
else if (operator == 'm')
{
System.out.print(firstNumber+" * "+secondNumber+" = "+(firstNumber * secondNumber));
}
else if (operator == 'd')
{
System.out.print(firstNumber+"/"+secondNumber+" = "+(firstNumber/secondNumber));
}
else if (operator == 'r')
{
answerRemainder = (firstNumber/secondNumber);
System.out.print(firstNumber+"/"+secondNumber+" = "+(answerRemainder)+" with a remainder of "+(firstNumber % secondNumber));
}
}
}
所以我想最後一行的「answerRemainder」是一個整數
用'Math.round'倒圓的結果。或'Math.floor'。或'Math.ceiling'。取決於你想要的。 –
將你的分區轉換爲'int',就像'answerRemainder =(int)(firstNumber/secondNumber);' – aribeiro
@aribeiro將被截斷 - 操作系統可能不想這樣做。 –