亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

輸入菜單屏幕方法始終返回 0

輸入菜單屏幕方法始終返回 0

慕俠2389804 2022-11-02 16:58:56
我被分配創建一個菜單驅動程序,其中包含一個顯示菜單屏幕/獲取用戶輸入的功能,但displaymenu()始終且僅返回 0 而不是新輸入的數字。我對編程很陌生,我用谷歌搜索了我能想到的所有東西,但我很困惑。import java.util.Scanner;public class menuDriven{   public static void main(String[] args)   {      int menuSelection=0;      double inches, centimeters, feet, meters, miles, kilometers;      Scanner keyboard = new Scanner(System.in);      displayMenu(keyboard, menuSelection);      switch(menuSelection)      {      case 1:         inchesToCentimeters(keyboard);         break;      case 2:         feetToMeters(keyboard);         break;      case 3:         milesToKilometers(keyboard);         break;      }   } // end main   public static int displayMenu(Scanner keyboard,  int menuSelection)    {   System.out.println("1. Convert inches to centimeters");   System.out.println("2. Convert feet to meters");   System.out.println("3. Convert miles to kilometers");   System.out.println();   System.out.println("Enter your selection");   menuSelection = keyboard.nextInt();    while (menuSelection < 1 || menuSelection > 3)      {         System.out.println("Please enter 1, 2, or 3.");         menuSelection = keyboard.nextInt();      }   return menuSelection;   }   public static void inchesToCentimeters(Scanner keyboard)   {      double inches, centimeters;      System.out.print("Enter the number of inches: ");      inches = keyboard.nextDouble();      centimeters = inches * 2.54;      System.out.println("That is equal to " + centimeters + " centimeters.");   }   public static void feetToMeters(Scanner keyboard)   {      double feet, meters;      System.out.println("Enter the number of feet: ");      feet = keyboard.nextDouble();      meters = feet * 0.3048;      System.out.println("That is equal to " + meters + " meters.");   }程序應該接受用戶輸入 1、2 或 3,然后將該數字帶到開關并顯示代碼。
查看完整描述

2 回答

?
紅顏莎娜

TA貢獻1842條經驗 獲得超13個贊

Java 按值傳遞原始參數,因此盡管您在 in 中操作menuSelection參數displayMenu,但menuSelectioninmain保持與調用之前相同displayMenu。


您可以將結果分配displayMenu給menuSelection:


menuSelection = displayMenu(keyboard, menuSelection);

您還可以刪除menuSelection作為參數的傳遞并在內部聲明它displayMenu,例如:


public static int displayMenu(Scanner keyboard) {

    int menuSelection=0;


    //...

}


查看完整回答
反對 回復 2022-11-02
?
海綿寶寶撒

TA貢獻1809條經驗 獲得超8個贊

嘗試這個:


import java.util.Scanner;


public class menuDriven{

 public static void main(String[] args)

 {

    Scanner keyboard = new Scanner(System.in);


    displayMenu(keyboard);


} // end main


private static void displayMenu(Scanner keyboard)

{


    System.out.println("1. Convert inches to centimeters");

    System.out.println("2. Convert feet to meters");

    System.out.println("3. Convert miles to kilometers");

    System.out.println();


    System.out.println("Enter your selection");

    int menuSelection = keyboard.nextInt();

    while (menuSelection < 1 || menuSelection > 3)

    {

        System.out.println("Please enter 1, 2, or 3.");

        menuSelection = keyboard.nextInt();

    }

    switch(menuSelection)

    {

        case 1:

            inchesToCentimeters(keyboard);

            break;


        case 2:

            feetToMeters(keyboard);

            break;


        case 3:

            milesToKilometers(keyboard);

            break;

    }

    /* return menuSelection; */

}


private static void inchesToCentimeters(Scanner keyboard)

{

    double inches, centimeters;

    System.out.print("Enter the number of inches: ");

    inches = keyboard.nextDouble();

    centimeters = inches * 2.54;

    System.out.println("That is equal to " + centimeters + " centimeters.");


}


private static void feetToMeters(Scanner keyboard)

{

    double feet, meters;

    System.out.println("Enter the number of feet: ");

    feet = keyboard.nextDouble();

    meters = feet * 0.3048;

    System.out.println("That is equal to " + meters + " meters.");

}


private static void milesToKilometers(Scanner keyboard)

{

    double miles, kilometers;

    System.out.println("Enter the number of miles: ");

    miles = keyboard.nextDouble();

    kilometers = miles * 1.609;

    System.out.println("That is equal to " + kilometers + " kilometers.");

 }

} // end class



查看完整回答
反對 回復 2022-11-02
  • 2 回答
  • 0 關注
  • 103 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號