有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何调用scanDouble()方法?

我试图在main()中调用scanDouble()方法,但失败了好几次

import java.util.Scanner;

public class validateInput {
    public static void scanDouble(Scanner in){
        System.out.print("Enter a number: ");
        if(!in.hasNextDouble()){
            String word = in.next();
            System.err.println(word + "is not a number");
            return;
        }
        double x = in.nextDouble();
        printLogarithm(x);
    }

    public static void printLogarithm(double x) {
        if (x < 0.0) {
            System.err.println("Error: x must be positive.");
            return;
        }
        double result = Math.log(x);
        System.out.println("The log of x is " + result);
    }

    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        double x = in.nextDouble();
        scanDouble(x);
    }

}

error info:validateInput.java:26:error:incompatible type: double cannot convert to Scanner scanDouble(x);


共 (1) 个答案

  1. # 1 楼答案

    public static void scanDouble(Scanner in){
    

    必须将扫描仪作为参数传递

    double x = in.nextDouble();
            scanDouble(x);
    

    您向该方法传递了一个双精度值