如何在Java中从键盘读取double变量?我正在尝试解决此问题,但是没有用。它说:
线程“主”中的异常java.util.Scanner.nrow(Scanner.java:1485)处java.util.Scanner.throwFor(Scanner.java:864)处java.util.Scanner .nextDouble(Scanner.java:2413)位于Main.main(Main.java:7)
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in).useLocale(Locale.US);
String s = scanner.next();
double d = scanner.nextDouble();
int myI = scanner.nextInt();
System.out.println("String: " + s);
System.out.println("Double: " + d);
System.out.println("Int: " + myI);
}
}
答案 0 :(得分:2)
试图繁殖,没有运气。我认为问题出在您的输入上。 这是我尝试过的:
输入:
s
4.51
2
输出:
String: s
Double: 4.51
Int: 2
在您的代码中,第一个扫描程序使用string
,第二个扫描程序使用double
,第三个扫描程序使用int
。
答案 1 :(得分:1)
尝试一下:
import java.io.*;
import java.util.Scanner;
class DoubleDouble
{
public static void main (String[] args)
{
double value;
Scanner scan = new Scanner( System.in );
System.out.print("Enter a double:");
value = scan.nextDouble();
System.out.println("value: " + value +" twice value: " + 2.0*value );
}
}
并确保您键入:例如:3.14 所以圆点应该是一个点
答案 2 :(得分:0)
您还可以使用BufferedReader类将Double作为输入。 可以视为
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String s=br.readLine();
Double d=Double.parseDouble(br.readLine());
int i=Integer.parseInt(br.readLine());
答案 3 :(得分:0)
您编写的代码是完全正确的,您应该检查输入顺序 串 双 诠释
答案 4 :(得分:0)
由于输入顺序,您收到此错误。确保您输入的是一个字符串,双倍然后是整数。按照特定的顺序。