java编程常见类型题 --- 水仙花数、邮资计算、集合+面向对象、序列化输入输出、自定义异常

网友投稿 282 2022-08-25

java编程常见类型题 --- 水仙花数、邮资计算、集合+面向对象、序列化输入输出、自定义异常

编程题

水仙花数

public class e02 { /** * 水仙花数 * @param args */ public static void main(String[] args) { // 百位确定循环范围 for (int i=0;i<1000;i++){ int a = i%10; //1 int b = i/10%10; //10 int c = i/100; //100 if ( (a*a*a+b*b*b+c*c*c) == i){ // 个位十位百位数的立方和等于本身 System.out.println(i); } } }}

局部优化,利用Math的pow方法进行立方计算

if ( (Math.pow(a,3)+Math.pow(b,3)+Math.pow(c,3)) == i){ // 个位十位百位数的立方和等于本身 System.out.println(i); }

邮资计算

重点:

题干中的一张或若干张,一张表示可以去0张3分,一张4分或1张3分,0张4分,决定了循环变量的取值范围不同的邮资,保证结果集中数据的唯一性,能够想到利用集合,并选择正确的集合形式。

import java.util.Iterator;import java.util.Set;import java.util.TreeMap;import java.util.TreeSet;public class e04 { public static void main(String[] args) { int total = 0; //邮资 Set set = new TreeSet(); // 利用TreeSet集合的二叉树(有序不可重复) for (int i=0;i<=5;i++){ // 可以3分的一张都不取 i从0开始 for (int j=0;j<=4;j++){ // 可以4分的一张都不取 j从0开始 total = 3*i+5*j; // 至少有一张,邮资不为0 if (total == 0){ continue; }else { // 不为0,保证唯一性 set.add(total); } } } System.out.println(set); System.out.println("共有"+set.size()+"种不同的邮资。"); // 遍历集合 Iterator it = set.iterator(); while (it.hasNext()){ Integer a = it.next(); // 迭代器取出的数据类型由集合中存储的数据类型决定 // Object 不能直接转到 int,要使用包装类Integer System.out.println(a); } }}

序列化输入输出

自定义异常

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:【Python+Flask+Echarts 】可视化样题 --- 绘制各年份被淘汰的公司总数对比图形
下一篇:辣条包装打“擦边球”?营销不该“剑走偏锋”!
相关文章

 发表评论

暂时没有评论,来抢沙发吧~