尝试将参数传递给方法并使用 if - else if 语句尝试将用户定向到特定方法



我正在尝试将参数传递给方法,但由于showKilometer(int num({ 方法已经有一个参数通过,如果 if 语句不起作用,我一直在尝试更改 showKilometer((; 显示公里(整数(;在 if-else if 语句下,但这似乎也不起作用

import java.util.Scanner;
public class a6main {
public static void main(String[] args){
    double distanceMeter;  
    double distanceKilom;
    double distanceInches;
    double distanceFeet;
    System.out.println("Enter a distance in meters:");
    Scanner keyboard = new Scanner(System.in);
    distanceMeter = keyboard.nextDouble();
    while (distanceMeter <= 0){  
    System.out.println("Unable to atain distance less than 0,n" 
            + "please enter a number grater than 0:n");
    distanceMeter = keyboard.nextInt();
    }
   showKilometer(distanceMeter);
   menu();
  }
public static void menu(){
Scanner keyboard = new Scanner(System.in);   
System.out.println("Enter your choicen"
        + "1. Convert to kilometersn"
        + "2. Convert to inchesn"
        + "3. Conveert to feetn"
        + "4. Quit the program");
   int choice = keyboard.nextInt();
    while (choice <= 0 || choice >= 5){
System.out.println("Option unavailble, pleace select a choice from 1 - 4:n"
        + "1. Convert to kilometersn"
        + "2. Convert to inchesn"
        + "3. Conveert to feetn"
        + "4. Quit the program");
   choice = keyboard.nextInt();
   }
if(choice == 1)
   showKilometer();      
else if(choice == 2)
   showInches();
else if(choice == 3)   
   showFeet();
else
    System.out.println("Program terminated.");
    }
    public static void showKilometer(int num){
    System.out.println(num);
    }
    }

代码应如下所示:

import java.util.Scanner;
public class A6Main {
public static void main(String[] args){
    double distanceMeter;  
    double distanceKilom;
    double distanceInches;
    double distanceFeet;
    System.out.println("Enter a distance in meters:");
    Scanner keyboard = new Scanner(System.in);
    distanceMeter = keyboard.nextDouble();
    while (distanceMeter <= 0){  
        System.out.println("Unable to atain distance less than 0,n" 
                + "please enter a number grater than 0:n");
        distanceMeter = keyboard.nextInt();
    }
    // showKilometer(distanceMeter);
    menu(distanceMeter);
  }
    public static void menu(double distance){
        Scanner keyboard = new Scanner(System.in);   
        System.out.println("Enter your choicen"
                + "1. Convert to kilometersn"
                + "2. Convert to inchesn"
                + "3. Conveert to feetn"
                + "4. Quit the program");
        int choice = keyboard.nextInt();
            while (choice <= 0 || choice >= 5){
        System.out.println("Option unavailble, pleace select a choice from 1 - 4:n"
                + "1. Convert to kilometersn"
                + "2. Convert to inchesn"
                + "3. Conveert to feetn"
                + "4. Quit the program");
        choice = keyboard.nextInt();
        }
        if(choice == 1)
        showKilometer(distance);      
        else if(choice == 2)
        showInches(distance);
        else if(choice == 3)   
        showFeet(distance);
        else
        System.out.println("Program terminated.");
    }
    public static void showKilometer(double num){
        System.out.println(num);
    }
    public static void showInches(double num){
        System.out.println(num);
    }
    public static void showFeet(double num){
        System.out.println(num);
    }
}

您将看到我添加了其他方法来进行转换,并将距离传递到菜单中。 然后,我使用该距离传递到可以进行计算的转换方法。

希望对您有所帮助。

假设你只定义了一个没有参数的新方法。

public static void showKilometer(){
    System.out.println("#### no args ####");
}

最新更新