Java中用数组解决购物小票问题

该文章描述了一个编程任务,要求通过键盘输入创建一个数组存储5笔购物金额,然后利用循环计算并输出这些金额的总和。

题目要求:以表格的形式输出5笔购物金额及总金额

输出要求:

 大致思路:首先要建立一个数组,将从键盘输入的数据储存到数组中,该过程可以使用一个for循环来实现。接着还需建立一个循环来输出数组中的数据。

代码:

 

 

约瑟夫问题是一个经典的问题,描述为有 `n` 个人围成一圈,从第 `k` 个人开始报数,报到第 `m` 的人出列,然后从出列的下一个人重新开始报数,直到所有人都出列。在 Java 中可以使用数组实现问题解决方案。 以下是一个使用数组实现约瑟夫问题Java 代码示例: ```java public class JosephusProblem { public static void josephus(int n, int k, int m) { // 创建一个长度为 n 的布尔类型数组,用于标记每个人是否出列 boolean[] people = new boolean[n]; // 初始化所有人都未出列 for (int i = 0; i < n; i++) { people[i] = false; } // 当前报数的人的索引 int index = (k - 1) % n; // 剩余未出列的人数 int remaining = n; while (remaining > 0) { int count = 0; while (true) { if (!people[index]) { count++; if (count == m) { // 标记该人出列 people[index] = true; System.out.println("出列的人是第 " + (index + 1) + " 个人"); remaining--; break; } } // 移动到下一个人 index = (index + 1) % n; } } } public static void main(String[] args) { int n = 10; // 总人数 int k = 1; // 从第 k 个人开始报数 int m = 3; // 报到第 m 的人出列 josephus(n, k, m); } } ``` 在上述代码中,首先创建一个布尔类型的数组 `people` 来标记每个人是否出列。通过循环遍历数组,模拟报数过程,当报到第 `m` 个人时,将其标记为出列,并输出该人的编号。重复这个过程,直到所有人都出列。
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值