有没有会做的,请教一下。

循环结构程序设计

使用Java语言编写程序:写一个菜单程序,菜单内容自定义,程序可重复选择不同的菜单,直到选择了“退出菜单”的功能才退出运行。

该回答引用chatgpt:

img


package com.test;

import java.util.Scanner;

public class MenuProgram {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int choice;

        do {
            displayMenu();
            choice = scanner.nextInt();
            handleMenuChoice(choice);
        } while (choice != 4); // 4 代表退出菜单的选项

        System.out.println("程序已退出。");
    }

    public static void displayMenu() {
        System.out.println("===== 菜单 =====");
        System.out.println("1. 选项一");
        System.out.println("2. 选项二");
        System.out.println("3. 选项三");
        System.out.println("4. 退出菜单");
        System.out.println("请输入您的选择:");
    }

    public static void handleMenuChoice(int choice) {
        switch (choice) {
            case 1:
                System.out.println("您选择了选项一。");
                // 执行选项一的功能
                break;
            case 2:
                System.out.println("您选择了选项二。");
                // 执行选项二的功能
                break;
            case 3:
                System.out.println("您选择了选项三。");
                // 执行选项三的功能
                break;
            case 4:
                System.out.println("正在退出菜单...");
                break;
            default:
                System.out.println("无效的选择,请重新输入。");
        }
        System.out.println();
    }
}


  • 这个问题的回答你可以参考下: https://ask.csdn.net/questions/7665512
  • 这篇博客你也可以参考下:输入一组无序的整数,编程输出其中出现次数最多的整数及其出现次数。(java)
  • 同时,你还可以查看手册:java-国际化 - 介绍如何设计软件,使其能够轻松适应(本地化)各种语言和地区。-与文本打交道》提供了以独立于本地的方式操作文本的技术。-将拉丁文数字转换为其他Unicode数字 中的内容
  • 除此之外, 这篇博客: 通过Java实现判断一个数是不是快乐数(快乐数就是很快乐啊,其实就是按照一定的算法,最后得到1的数字就是快乐数,是不是很快乐呢)中的 源码: 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • import java.util.HashMap;
    import java.util.Map;
    
    /**
     * 算法:判斷快樂數
     * 例如:7,如果从7开始将二次方之后的数字进行分解,再进行二次方相加,最后得到1,那就是快乐数
     * 7² + 0² = 49
     * 4² + 9² = 97
     * 9² + 7² = 130
     * 1² + 3² + 0²  = 10
     * 1² + 0² = 1
     */
    public class HappyNumbs {
    	/**
    	 * 默認獲取100以内的快樂數
    	 */
    	private static final int N = 100;
    	/**
    	 * 判斷是否是快樂數
    	 * @param point
    	 * @return
    	 */
    	private static boolean isHappy(final int point0, int point, Map<Integer,Object> $pointMap) {
    		String $point = String.valueOf(point);
    		int k = 0;
    		String expression = "";
    		for(int i=0; i<$point.length();i++) {
    			String $$point = String.valueOf($point.charAt(i));
    			k += (int) Math.pow(Double.parseDouble($$point), 2);
    			expression += $$point + "^2 ";
    			if(i < $point.length()-1) {
    				expression += " + ";
    			}
    		}
    		
    		expression += " = " + k;
    		System.out.println(expression);
    		if(k == 1) {
    			System.out.println("快樂數:k=" + point0);
    			return true;
    		}
    		if($pointMap.containsKey(k)) {
    			System.out.println("k=" + point0 + "不是快樂數字,循環節點:p=" + k);
    			return false;
    		}
    		
    		$pointMap.put(k, 0);
    		return isHappy(point0, k, $pointMap);
    	}
    	
    	
    	public static void main(String[] args) {
    		for(int i=1;i<=N;i++) {
    			isHappy(i,i,new HashMap<Integer,Object>());
    		}
    	}
    }
    
    
  • 您还可以看一下 翟东平老师的企业微信支付JAVA版_企业红包+向员工付款+向员工收款课程中的 向员工收款_快速部署_修改账户信息小节, 巩固相关知识点
  • 以下回答由chatgpt基于相关博客总结生成:

    首先我们需要定义菜单内容和功能,然后在循环中输出菜单,并通过Scanner获取用户输入的选项,然后根据选项调用相应的功能,直到用户选择退出菜单。

    示例代码如下:

    import java.util.Scanner;
    
    public class MenuProgram {
       public static void main(String[] args) {
          Scanner scanner = new Scanner(System.in);
          String menu = "1. 功能1\n2. 功能2\n3. 退出菜单";
          int choice;
          do {
             System.out.println(menu);
             System.out.print("请输入选项:");
             choice = scanner.nextInt();
             switch (choice) {
                case 1:
                   func1();
                   break;
                case 2:
                   func2();
                   break;
                case 3:
                   System.out.println("已退出菜单");
                   break;
                default:
                   System.out.println("无效的选项,请重新选择");
             }
          } while (choice != 3);
       }
    
       public static void func1() {
          System.out.println("执行功能1");
       }
    
       public static void func2() {
          System.out.println("执行功能2");
       }
    }
    

    以上示例中,我们定义了一个简单的菜单,包括两个功能和一个退出选项,通过do-while循环持续输出菜单并获取用户选择的选项,然后通过switch语句选择对应的功能进行执行。在示例代码中,func1()和func2()分别代表两个功能,可根据需求进行修改。

    需要注意的是,示例代码中使用了Scanner类来获取用户输入,如果输入的数据类型不是整数则会报错,可根据需求使用其他方法获取输入。另外,使用Scanner类获取输入时需要注意资源关闭问题,可以使用try-with-resources语句进行处理。