Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何打印从屏幕上读取的浮点_Java - Fatal编程技术网

Java 如何打印从屏幕上读取的浮点

Java 如何打印从屏幕上读取的浮点,java,Java,好的,我需要从键盘上读取2个整数,然后进行除法,得到一个浮点,我怎么得到一个浮点?我需要x和y是整数 如果x=2和y=3,我将得到1.0和4.0,但我需要显示1.333和4.5 另外,对于所有变量,我都会得到“从未使用过赋值”为什么?当你将得到的两个整数除以时,将第一个整数转换为浮点- int x = 0, y = 0; float r = 0, r2 = 0; Scanner in = new Scanner(System.in); try { System.out.print("F

好的,我需要从键盘上读取2个整数,然后进行除法,得到一个浮点,我怎么得到一个浮点?我需要x和y是整数

如果x=2和y=3,我将得到
1.0和
4.0,但我需要显示1.333和4.5


另外,对于所有变量,我都会得到“从未使用过赋值”为什么?

当你将得到的两个整数除以时,将第一个整数转换为浮点-

int x = 0, y = 0;
float r = 0, r2 = 0;
Scanner in = new Scanner(System.in);

try {
    System.out.print("First number ");
    x = in.nextInt();
    System.out.print("second number ");
    y = in.nextInt();
} catch (Exception ex) {
    System.out.println("Not a number");
    System.exit(0);
}

r = (x * x) / y;
r2 = (y * y) / x;
System.out.printf("Results are " + r + " and" + r2);
如链接所示,JLS显示(加粗并添加斜体)-

。。。在二进制数字提升(§5.6.2)之后,为整数操作数n和d生成的商是一个整数值q,其大小在满足| d·q |的情况下尽可能大≤ |n |。此外,当| n |时,q为正≥ |d |和n与d具有相同的符号,但当| n |时q为负≥ |d |和n以及d有相反的符号


您是否使用(float)命令将结果强制转换为float?
e、 g.System.out.printf(“结果为“+(浮点)r+”和“+(浮点)r2”)

您可以将所有结果转换为float(r,r2),它更具可读性和组织性,但之前的答案绝对正确:D

您的代码需要稍加修改:

r = ((float)(x*x))/y;
r2 = ((float)(y*y))/x;
看看它
   int x = 0, y = 0;
   float r = 0, r2 = 0;
   Scanner in = new Scanner(System.in);

   try {
      System.out.print("First number ");
      x = in.nextInt();
      System.out.print("second number ");
      y = in.nextInt();
   } catch (Exception ex) {
      System.out.println("Not a number");
      System.exit(0);
   }

   r = ((float)(x * x) / y);
   r2 = ((float)(y * y) / x);
   System.out.printf("Results are " + r + " and" + r2);