当前位置: 首页 > news >正文

积分兑换小程序Java

某个学校为了激励学生踊跃参加一些社会实践活动,会对参与者给予一些校园积分,学生们获得校园积分后可以使用校园积分在指定的老师那兑换一些学习用具,当前可兑换的物品和对应的积分数量如下:

铅笔1分

橡皮2分

作业本3分

文具盒5分

为了方便学生进行兑换,现在需要实现一个积分兑换小程序,输入所兑换的用具编号进行兑换,并且兑换后可以选择继续兑换,控制台输出可以继续兑换的用具个数和剩余积分。假设小明现有20分可以兑换些什么?

解法一:

package lianxi1;import java.util.Scanner;public class exchange {public static void main(String[] args) {int points = 20; // 初始积分Scanner scanner = new Scanner(System.in);System.out.println("---------------积分兑换小程序-------------------");// 打印铅笔所需积分System.out.println("1. 铅笔所需积分为:1分");// 打印橡皮所需积分System.out.println("2. 橡皮所需积分为:2分");// 打印作业本所需积分System.out.println("3. 作业本所需积分为:3分");// 打印文具盒所需积分System.out.println("4. 文具盒所需积分为:5分");System.out.println("您的初始积分为:" + points+"分");System.out.println("每次兑换后剩余积分会累计,您可以选择继续兑换或退出。");System.out.println("------------------------------------------------");while (true) {// 如果积分不足,提示并退出if (points < 1) {System.out.println("剩余积分不足,无法继续兑换。");break;}System.out.print("请输入需要兑换的物品编号(或输入0退出):");int itemId = scanner.nextInt();if (itemId == 0) {System.out.println("退出积分兑换小程序。");break;}// 兑换前检查积分是否足够switch (itemId) {case 1: // 铅笔if (points >= 1) {points -= 1;System.out.println("成功兑换铅笔,剩余积分:" + points+"分");int pencil = points / 1;int pencilPoints = points % 1;System.out.println("当前积分:" + points + "分,还可以兑换铅笔" + pencil + "个,剩余积分:" + pencilPoints+"分");} else {System.out.println("积分不足,无法兑换铅笔!");}break;case 2: // 橡皮if (points >= 2) {points -= 2;System.out.println("成功兑换橡皮,剩余积分:" + points+"分");int eraser = points / 2;int eraserPoints = points % 2;System.out.println("当前积分:" + points + "分,还可以兑换橡皮" + eraser + "个,剩余积分:" + eraserPoints+"分");} else {System.out.println("积分不足,无法兑换橡皮!");}break;case 3: // 作业本if (points >= 3) {points -= 3;System.out.println("成功兑换作业本,剩余积分:" + points+"分");// 输出当前积分和可兑换的作业本数量int notebooks = points / 3;int remainingPoints = points % 3;System.out.println("当前积分:" + points + "分,还可以兑换作业本" + notebooks + "个,剩余积分:" + remainingPoints+"分");} else {System.out.println("积分不足,无法兑换作业本!");}break;case 4: // 文具盒if (points >= 5) {points -= 5;System.out.println("成功兑换文具盒,剩余积分:" + points+"分");int writingcase= points / 5;int writingPoints = points % 5;System.out.println("当前积分:" + points + "分,还可以兑换文具盒" + writingcase + "个,剩余积分:" +writingPoints+"分");} else {System.out.println("积分不足,无法兑换文具盒!");}break;default:System.out.println("无效的物品编号!");}// 询问是否还继续兑换System.out.println("您还想继续兑换吗?(是输入1,否输入0):");int continueOption = scanner.nextInt();if (continueOption == 0) {System.out.println("感谢使用,再见!");break;} }scanner.close();}
}

解法二:

package lianxi1;import java.util.Scanner;public class exchange {public static void main(String[] args) {int points = 20; // 初始积分Scanner scanner = new Scanner(System.in);System.out.println("---------------积分兑换小程序-------------------");// 打印铅笔所需积分System.out.println("1. 铅笔所需积分为:1分");// 打印橡皮所需积分System.out.println("2. 橡皮所需积分为:2分");// 打印作业本所需积分System.out.println("3. 作业本所需积分为:3分");// 打印文具盒所需积分System.out.println("4. 文具盒所需积分为:5分");System.out.println("您的初始积分为:" + points+"分");System.out.println("每次兑换后剩余积分会累计,您可以选择继续兑换或退出。");System.out.println("------------------------------------------------");while (true) {// 如果积分不足,提示并退出if (points < 1) {System.out.println("积分不足,无法继续兑换。");break;}System.out.print("请输入需要兑换的物品编号(或输入0退出):");int itemId = scanner.nextInt();if (itemId == 0) {System.out.println("退出积分兑换小程序。");break;}switch (itemId) {case 1: // 铅笔if (points >= 1) {points -= 1;System.out.println("成功兑换铅笔,剩余积分:" + points);displayRemaining(points, 1);} else {System.out.println("积分不足,无法兑换铅笔!");}break;case 2: // 橡皮if (points >= 2) {points -= 2;System.out.println("成功兑换橡皮,剩余积分:" + points);displayRemaining(points, 2);} else {System.out.println("积分不足,无法兑换橡皮!");}break;case 3: // 作业本if (points >= 3) {points -= 3;System.out.println("成功兑换作业本,剩余积分:" + points);displayRemaining(points, 3);} else {System.out.println("积分不足,无法兑换作业本!");}break;case 4: // 文具盒if (points >= 5) {points -= 5;System.out.println("成功兑换文具盒,剩余积分:" + points);displayRemaining(points, 5);} else {System.out.println("积分不足,无法兑换文具盒!");}break;default:System.out.println("无效的物品编号!");}System.out.println("您还想继续兑换吗?(是输入1,否输入0):");int continueOption = scanner.nextInt();if (continueOption == 0) {System.out.println("感谢使用,再见!");break;}}scanner.close();}// 方法:显示还能兑换多少个对应商品和剩余积分private static void displayRemaining(int points, int cost) {int maxCount = points / cost;int remainingPoints = points % cost;System.out.println("还可以用剩余积分兑换" + maxCount + "个商品,还剩" + remainingPoints + "分积分。");}
}

http://www.lryc.cn/news/601436.html

相关文章:

  • Torchv Unstrustured 文档解析库
  • Matplotlib(二)- Matplotlib简单绘图
  • 在docker中安装frp实现内网穿透
  • 【数据结构与算法】数据结构初阶:详解排序(二)——交换排序中的快速排序
  • 【51单片机和数码管仿真显示问题共阴共阳代码】2022-9-24
  • 算法竞赛阶段二-数据结构(36)数据结构双向链表模拟实现
  • hackthebox-Pwn-Restaurant(ret2libc)
  • MySQL 8.4 Windows 版安装记录与步骤参考
  • STM32-USART串口实现接收数据三种方法(1.根据\r\n标志符、2.空闲帧中断、3.根据定时器辅助接收)
  • 数据结构第1问:什么是数据结构?
  • 三、构建一个Agent
  • 栈----5.柱状图中最大的矩形
  • RabbitMq 常用命令和REST API
  • 基于分组规则的Excel数据分组优化系统设计与实现
  • 阿里 Qwen3 四模型齐发,字节 Coze 全面开源,GPT-5 8 月初发布!| AI Weekly 7.21-7.27
  • GPT 生成一个打字练习页面
  • maven optional 功能详解
  • 盛最多水的容器-leetcode
  • 时间长了忘记jupyter的环境是哪个了
  • k8s的csi对接GPFS
  • 系统架构设计师-【2025年上半年综合知识题】-真题回忆版分享
  • 动手学深度学习笔记04(上)
  • 物联网发展:从概念到应用的演变历程
  • Sql server开挂的OPENJSON
  • haproxy七层代理(知识点+相关实验部署)
  • C++算法竞赛篇(六)一维数组题型讲解
  • Rust实战:高效开发技巧
  • 【Java实例】服务器IP一站式管理
  • Rust Web 全栈开发(十二):构建 WebAssembly 应用
  • day69—动态规划—爬楼梯(LeetCode-70)