所以基本上我尝试了两件事。我会给你他们的代码:
double number;
Scanner input = new Scanner(System.in);
System.out.println("Name a number!");
number = input.nextDouble();
number = Math.floor(number);
System.out.println(number);
和这个:
double number;
Scanner input = new Scanner(System.in);
System.out.println("Name a number!");
number = Math.floor(input.nextDouble());
System.out.println(number);
但他们似乎都没有工作......有人可以帮我吗?我基本上想收集用户的输入。是否可以将双精度数转换为整数?例如:控制台询问“你想要多少薯条”,然后用户决定搞笑并说 4.5。这会给我一个错误。我希望控制台自动将 4.5 变成 4。
编辑:我不知道这是否有帮助......但我只有 1 节课,这就是全班的样子:
package package.name;
import java.util.Scanner;
public class TestingJava
{
public static void main(String[] args){
double number;
Scanner input = new Scanner(System.in);
System.out.println("Name a number!");
number = input.nextDouble();
number = Math.floor(number);
System.out.println(number);
}
}
这是我在输入 3.6 之类的数字时得到的错误:
Exception in thread "main" java.util.InputMismatchException
at java.util.Scanner.throwFor(Unknown Source)
at java.util.Scanner.next(Unknown Source)
at java.util.Scanner.nextDouble(Unknown Source)
at package.name.TestingJava.main(TestingJava.java:10)
当我给数字“2”时,它会回复“2.0”,但是当我做一个分数时,它就不起作用了。