尝试使用脚本的输入来划分和显示答案
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
表示十进制整数。
我正在尝试做的是它接受用户的输入并让代码将两个输入分开,列出任何需要它的数字,当它不能分成一个很好的偶数时作为小数。 所以这就是我到目前为止所拥有的。
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
表示十进制整数。