Как выполнить этот java двойной сканер? - PullRequest
1 голос
/ 03 марта 2020

при вызове scanDouble (); Я получаю сообщение об ошибке.

package com.company;
import java.util.Random;
import java.util.Scanner;

public class Main {

Scanner in = new Scanner(System.in);
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 scanDouble(Scanner in) {
    System.out.print("Enter the name: ");
    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 main(String[] args) {
scanDouble();
}
}

Кто-нибудь знает, как выполнить scanDouble (); Что-то, что я должен включить в вызов метода?

1 Ответ

0 голосов
/ 03 марта 2020

Если я следую вашим логикам c, попробуйте передать переменную Scanner in в метод scanDouble() следующим образом:

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

Передав двойное значение x, например, в качестве аргумента не сработает, я только что проверил.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...