Java - public 静态双精度不返回

Java - public static double not returning

我正在尝试从零开始学习 Java。我有一个练习,在重新阅读一遍之后我找不到为什么不起作用。研究 Google 和 Whosebug 返回零结果...

主要 objective 是通过乘以一个数字将美元换算成比塞塔。我必须使用两个函数并在 "main".

上调用它们

我的问题是 "convertToPesetas" 没有获取 "askDollars" 的返回值。谁能给我一根绳子?

import java.util.Scanner;

public class Converter
{
    public static void main(String[] args){        
        askDollars();
        convertToPesetas();
    }       

    public static double askDollars(){
        System.out.println("Type the quantity of dollars:");
        Scanner keyboard= new Scanner(System.in);
        double dollars= keyboard.nextDouble();   
        System.out.println("Dollars: "+dollars);
        return dollars;        
    }
    public static double convertToPesetas(double dollars){        
        double pesetas = pesetas*166.386;        
        System.out.println(dollars+ "€ equals to: "+pesetas+" pesetas");
        return pesetas;
    }

}

因为您没有存储或提供该值:

askDollars();
convertToPesetas();

将 returned 值保存在变量中并将该变量传递给下一个方法:

double dollars = askDollars();
convertToPesetas(dollars);

注意:convertToPesetas 也是 return 的一个值。你似乎不需要它来做到这一点。 但是,如果您将设计转向不同的方向,则可以使用它。作为下一步的学术练习,请考虑三种方法:

  1. 一个要求用户输入。
  2. 将美元价值转换为比塞塔价值的一种。这有 没有 输入或输出,只有一个方法参数和一个 return 值。
  3. 打印输出的一个。

每个方法只做一件简单的事情。当你拥有它时,你会发现第二种方法可以自由地轻松地移动到其他对象等,因为它是完全独立的并且不以任何方式耦合到用户界面。