静态方法,返回结果并打印出结果

时间:2018-10-26 21:05:26

标签: java

我正在为Java进行一些在线培训,但对这个概念有困难。

这就是我想要做的。我已经接近了,但是不确定我缺少什么。

使用以下方法创建MetricConverter类(每个方法均接收一个度量值并返回相应的标准值):

  • kgToLbs(kg:double):double(+表示公共;需要double参数;返回double值)
  • kmToMiles(km:double):double

创建一个从以下菜单运行的MetricConverterTest应用程序:

KG为磅 KM至英里

所以我接近了,但是MetricConverter类应该只包含四个静态方法-别无其他。

我可以找出静态方法并返回...但是无法显示返回的结果。我想念什么?

MetricConverterTest类应具有一个显示菜单的main方法。

这是我的代码:

import java.util.Scanner;

public class MetricConverter {
    private static Scanner keyBd = new Scanner(System.in);

    //method if 1 is selected
    public static double menuOption1() {
        double kg = keyBd.nextDouble();
        double lbs = 2.20462*kg;
        return lbs;
    }

    //method if 2 is selected
    public static double menuOption2() {
        System.out.println("Enter the amount of kilometers you wish to convert: ");
        double km = keyBd.nextDouble();
        double miles = 0.621371 *km;
        return miles;
    }

    public static void main(String[] args) {
        char selection;
        do {
            //displays the menu    
            System.out.println("\n\nMainMenu");  
            System.out.println("1. Convert KG to lbs");
            System.out.println("2. Convert kilometers to miles");
            System.out.println("3. Quit");
            System.out.println("Selection: ");

            //get a menu selection
            selection = keyBd.next().charAt(0);

            switch(selection) {
                case '1': menuOption1(); break;
                case '2': menuOption2(); break;
                case '3': break;
                default: System.out.println("Invalid selection!");
            }//end switch
        } while(selection != '3');
    }//end main()
}

4 个答案:

答案 0 :(得分:1)

您可以从每个 menuOption 方法打印结果

public static double menuOption2() {
    System.out.println("Enter the amount of kilometers you wish to convert: ");
    double km = keyBd.nextDouble();
    double miles = 0.621371 *km;
    System.out.println(String.format("%s", miles));
    return miles;
}

或从案例陈述中

switch(selection) {
    case '1': 
        double result = menuOption1(); 
        System.out.println(String.format("%s", result));
        break;
    case '2': 
        double result = menuOption2(); 
        System.out.println(String.format("%s", result));
        break;
    case '3': break;
    default: System.out.println("Invalid selection!");
}

答案 1 :(得分:0)

您可以像这样在de Switch内打印结果,我也添加了新行,要求输入参数。

 switch(selection) {
                case '1': {
                    System.out.println("Fill Kgs to be converted");
                    System.out.println("Result of converting KG to Lbs is : " + menuOption1());
                    break;
                }
                case '2': {
                    System.out.println("Fill Kilometers to be converted");
                    System.out.println("Result of converting Kms to Miles is : " + menuOption2());
                    break;
                }
                case '3': break;
                default: System.out.println("Invalid selection!");
            }//end switch

答案 2 :(得分:0)

         case '1': System.out.println("Result "+menuOption1()); break;
         case '2': System.out.println("Result "+menuOption2()); break;
         case '3': break;
         default: System.out.println("Invalid selection!");

答案 3 :(得分:0)

如果我对作业的理解很好,它需要您创建一个带有两个静态方法的类 MetricConverter ,并创建一个具有main方法的单独的类 MetricConverterTest 。这意味着您需要为您的类创建一个包。

关于显示结果,在您的main方法中,您仅调用返回double类型的方法,但不以任何方式存储或显示结果。您需要使用System.out.println( menuOptionX() );,或将方法的输出分配给类似Double result = menuOptionX();的变量,并在需要时使用上述方法进行显示。