尝试使用脚本的输入来划分和显示答案

Trying to use inputs for the script to divide and show the answer

我正在尝试做的是它接受用户的输入并让代码将两个输入分开,列出任何需要它的数字,当它不能分成一个很好的偶数时作为小数。 所以这就是我到目前为止所拥有的。

public static void main(String[] args) 
{
    Scanner input = new Scanner(System.in);

    float number1; //first number to divide
    float number2; //second number to divide
    float dividend; //product of division

    System.out.print("Enter first integer: "); //prompt
    number1 = input.nextInt(); // read first number 

    System.out.print("Enter second integer: "); //prompt
    number2 = input.nextInt(); // read second number

    dividend = number1 / number2;

    System.out.printf("%d%s%d%s%d.%n", number1, " divided by ", number2, " is ", dividend); 



}

这实际上是我第一天编码,所以我希望它会很简单。我通过一些搜索发现使用整数不会报告小数,所以我将我的数字更改为浮点数。当我将所有数字都设为整数时,它会吐出一个数字,但不会保留余数,所以我只会得到一个偶数。所以我将它们更改为浮点数,现在它只是给我一个错误。我讨厌成为 'that guy',但有人看到我做错了什么吗?

因为您从使用 ints 更改为 floats,您还必须对其进行更改,以便您的扫描仪采用 float 输入而不是 int 输入.否则,您将收到类型不匹配的错误。为此,请更改以下行:

number1 = input.nextInt();
number2 = input.nextInt();

number1 = input.nextFloat();
number2 = input.nextFloat();

使用 Scanner.nextFloat() 而不是 Scanner.nextInt()

System.out.print("Enter first integer: "); //prompt
number1 = input.nextFloat(); // read first number 

System.out.print("Enter second integer: "); //prompt
number2 = input.nextFloat(); // read second number

Scanner.nextFloat() 方法将输入的下一个标记扫描为浮点数,

编辑

这解决了您的其他问题:

Exception in thread "main" java.utilIllegalFormatConversionException: d != java.langlFloat at java.util.Formatter$FormatSpecifier.failConversion(Unknown Source)

System.out.printf("%f%s%f%s%f.%n", number1, " divided by ", number2, " is ", dividend); 

对浮点类型使用 f

d表示十进制整数。

Formatting Numeric Print Output