day02--课后练习
2015-07-16 21:27
323 查看
编程题
1:计算付款金额: 一杯5元, 每两杯的第二杯半价(杯数由用户从键盘录入 ) 如: 5杯 = (5+2.5)*2 + 5 = 20
2:分别统计字符串”123456789012”奇数位及偶数位上的数字的和
将字符串的奇数位数字相加求和 c1 = 1 + 3 + 5 + 7 + 9 + 1
将字符串的偶数位数字相加求和 c2 = 2 + 4 + 6 + 8 + 0 + 2
3:String[] cards = {“3”,”4”,”8”,”A”,”K”,”Q”}数组中存储了6张牌,设计一个算法把牌打乱,也就是实现洗牌功能
4:一个5位的整数,判断它是不是回文数,例如12321是回文数
5:向一个有序的整型数组中插入一个数,插入后该数组还是有序的
(使用二分法)()
1:计算付款金额: 一杯5元, 每两杯的第二杯半价(杯数由用户从键盘录入 ) 如: 5杯 = (5+2.5)*2 + 5 = 20
package homework; import java.util.Scanner; public class homework01 { public static void main(String[] args) { System.out.println("饮料一杯5元,每两杯的第二杯半价"); System.out.println("请输入您需要购买的饮料杯数"); Scanner scanner = new Scanner(System.in); int a = scanner.nextInt(); int count = a % 2; double sum = 0; String result = ""; scanner.close(); if (count == 0) { sum = (5 + 2.5) * (a / 2); result = "(5+2.5)*" + a / 2 + "=" + sum; } else { sum = (5 + 2.5) * (a / 2) + 5; result = "(5+2.5)*" + a / 2 + "+5=" + sum; } System.out.println(result); System.out.println(sum); } }
2:分别统计字符串”123456789012”奇数位及偶数位上的数字的和
将字符串的奇数位数字相加求和 c1 = 1 + 3 + 5 + 7 + 9 + 1
将字符串的偶数位数字相加求和 c2 = 2 + 4 + 6 + 8 + 0 + 2
package homework; import java.util.Scanner; public class homework02 { public static void main(String[] args) { System.out.println("本程序功能:统计字符串数字奇数位及偶数为上的数字的和"); System.out.println("请输入您需要统计的字符串数字"); Scanner scanner = new Scanner(System.in); String s = scanner.next(); scanner.close(); int sum1 = 0, sum2 = 0; String result1 = "", result2 = ""; char[] cs = s.toCharArray(); for (int i = 0; i < cs.length; i++) { if (i % 2 == 0) { sum1 += Integer.parseInt(cs[i] + ""); if (i == cs.length - 1) { result1 = cs[i] + " " + result1; } else { result1 = cs[i] + "+" + result1; } } else { sum2 += Integer.parseInt(cs[i] + ""); result2 = cs[i] + "+" + result2; } } System.out.println(result1 + " =" + sum1); System.out.println(result2 + " =" + sum2); } }
3:String[] cards = {“3”,”4”,”8”,”A”,”K”,”Q”}数组中存储了6张牌,设计一个算法把牌打乱,也就是实现洗牌功能
package homework; import java.util.Random; public class homework03 { public static void check(int[] nums, int num) { int i; Random random = new Random(); for (i = 0; i < num; i++) { if (nums[i] == nums[num]) { nums[num] = random.nextInt(6); check(nums, num); } } if (i == num) return; } public static void main(String[] args) { System.out.println("本程序功能,实现洗牌功能"); String[] cards = { "3", "4", "8", "A", "K", "Q" }; Random random = new Random(); int[] copyCards = new int[cards.length]; for (int i = 0; i < cards.length; i++) { copyCards[i] = random.nextInt(6); check(copyCards, i); System.out.print(cards[copyCards[i]]+" "); } } }
4:一个5位的整数,判断它是不是回文数,例如12321是回文数
5:向一个有序的整型数组中插入一个数,插入后该数组还是有序的
(使用二分法)()
相关文章推荐
- 菜鸟学linux
- 可展开的TextView
- 线段树专题
- instanceof和getClass()的区别
- HDU 1086You can Solve a Geometry Problem too(判断线段相交模板题)
- HDU 2571-----简单的DP
- 有效检查Java代码的工具:5款调试工具
- iOS的主要框架介绍
- 几种垂直居中的方式
- [Leetcode] Combination
- TPS和事务响应时间的关系
- opencv中各种矩阵乘的区别
- LeetCode---(50)Pow(x, n)
- nodejs的模块机制
- 劳累的一天啊
- 极光推送使用后初总结
- RHCE7 -- systemctl命令
- 我的Android进阶之旅------> Android在TextView中显示图片方法
- mysql命令
- ZOJ 3856 Goldbach FFT计数 2013年长沙网络赛