这是我目前的代码:
import java.util.Scanner;
public class Addition
{
// main method begins execution of Java application
public static void main( String args[] )
{
// create Scanner to obtain input from command window
Scanner input = new Scanner( System.in );
int area;
int number1;
int number2;
System.out.print( "Input base value = " ); // prompt
number1 = input.nextInt(); // read first number from user
System.out.print( "Input height value = " ); // prompt
number2 = input.nextInt(); // read second number from user
area = 1/2*(number1*number2); // add numbers
System.out.printf( "The Area of the right triangle is %d\n", area ); // display sum
} // end method main
} // end class Addition
当我输入5作为第一个和第二个数字时,我想让它显示小数点。我尝试用双区替换 int区域,但不起作用..
答案 0 :(得分:1)
如果您想要小数点后两位数,则必须使area
为双精度并使用格式字符串%1.2f
。
示例:
System.out.printf("%1.2f\n", 78785.7);
答案 1 :(得分:1)
答案 2 :(得分:0)
除了将区域设为双倍之外,您还需要将1/2*(number1*number2)
中的至少一个术语设为双精度,否则您将只进行数学运算,这将不会如何你期待。例如:
1.0/2*(number1*number2)
在您的输出中,您还必须使用%f而不是%d。