java1234教程系列笔记 S1 Java SE chapter 02 写乘法口诀表
一、水仙花数
1、方式一:这是我的思路,取各个位数的方式。我个人习惯于使用取模运算。
public static List<Integer> dealNarcissiticNumberMethodOne(
Integer startNum, Integer endNum) {
List<Integer> resultList = new LinkedList<Integer>();
for (Integer i = startNum; i <= endNum; i++) {
Integer unitDigit = i % ;
// 该语句不够精炼,有冗余,应该写成 Integer tensDigit=i/10;即可
Integer tensDigit = (i / ) % ;
Integer hundredsDigit = (i / ) % ;
if (i == (unitDigit * unitDigit * unitDigit + tensDigit * tensDigit
* tensDigit + hundredsDigit * hundredsDigit * hundredsDigit)) {
resultList.add(i);
}
}
return resultList;
}
2、方式二:视频的主讲人的方式如下:跟小学学习计数的方式一样。此时显示出数学理论的重要。
public static List<Integer> dealNarcissiticNumberMethodTwo(
Integer startNum, Integer endNum) {
List<Integer> resultList = new LinkedList<Integer>();
for (Integer i = startNum; i <= endNum; i++) {
Integer hundredsDigit = i / ;
Integer tensDigit = (i - hundredsDigit * ) / ;
Integer unitDigit = i - hundredsDigit * - tensDigit * ;
if (i == (unitDigit * unitDigit * unitDigit + tensDigit * tensDigit
* tensDigit + hundredsDigit * hundredsDigit * hundredsDigit)) {
resultList.add(i);
}
}
return resultList;
}
二、乘法口诀
一段代码,调试了四次。需要运行看结果才倒推代码的缺陷。理想情况,应当是,先把逻辑梳理清楚。再梳理。切记
代码如下:
public static String generateMultiplication(Integer startNum, Integer endNum) {
String result = "";
for (int i = startNum; i <= endNum; i++) {
for (int j = startNum; j <= i; j++) {
result += j + "*" + i + "=" + i * j + " ";
}
result += "\n";
}
return result;
}
java1234教程系列笔记 S1 Java SE chapter 02 写乘法口诀表的更多相关文章
- java1234教程系列笔记 S1 Java SE chapter 02 lesson 03 java基本数据类型
第二章 第三节 数据类型 3.1 分类 基本数据类型.引用类型 3.2整型 byte 8 short 16 int 32 long 64 作业: A:1-10求和 B:float double 的最 ...
- java1234教程系列笔记 S1 Java SE 02 eclipse初步使用、注释、标识符
第二章 第一节,讲了简单使用eclipse 写控制台程序.没有讲包,直接用的默认的包名. 还是编写了两个控制台例子 public class HelloWorld { public static vo ...
- java1234教程系列笔记 S1 Java SE 0101 HelloWorld
本节分为三讲.java概览,第二节讲了安装jdk 配置环境变量 第三节讲了经典的hello world 1.新建一个txt文本 public class chapter0102{ public sta ...
- 【转载】Java系列笔记(3) - Java 内存区域和GC机制
Java系列笔记(3) - Java 内存区域和GC机制 转载:原文地址http://www.cnblogs.com/zhguang/p/3257367.html 目录 Java垃圾回收概况 Java ...
- Java系列笔记(2) - Java RTTI和反射机制
目录 前言 传统的RTTI 反射 反射的实现方式 反射的性能 反射与设计模式 前言 并不是所有的Class都能在编译时明确,因此在某些情况下需要在运行时再发现和确定类型信息(比如:基于构建编程,),这 ...
- 【转载】Java系列笔记(1) - Java 类加载与初始化
Java系列笔记(1) - Java 类加载与初始化 原文地址:http://www.cnblogs.com/zhguang/p/3154584.html 目录 类加载器 动态加载 链接 初始化 示例 ...
- Java 面试 - 打印九九乘法口诀表
在Java面试过程中, 面试者经常会被要求手写代码或上机操作.一般来说,手写代码或上机操作,主要还是考察面试者的分析问题和解决问题的能力.打印九九乘法口诀无疑是非常基础的,那么如何实现呢?首先我们先来 ...
- Java系列笔记(3) - Java 内存区域和GC机制
目录 Java垃圾回收概况 Java内存区域 Java对象的访问方式 Java内存分配机制 Java GC机制 垃圾收集器 Java垃圾回收概况 Java GC(Garbage Collection, ...
- Java系列笔记(1) - Java 类加载与初始化
目录 类加载器 动态加载 链接 初始化 示例 类加载器 在了解Java的机制之前,需要先了解类在JVM(Java虚拟机)中是如何加载的,这对后面理解java其它机制将有重要作用. 每个类编译后产生一个 ...
随机推荐
- Android深度探索--HAL与驱动开发----第七章读书笔记
首先创建led驱动的设备文件,可以使用cdev_init,register_chrdev_region,cdev_add等建立主设备号的设备文件.步骤如下: 1使用cdev_init初始化cdev 2 ...
- eclipse + marven
eclipse使用maven管理项目,可以自动下载依赖包(尤其是容易引起依赖包冲突的场合),也可以实现打jar包,编译等功能 1 eclipse安装maven插件 使用Eclipse--help-- ...
- 安卓--界面--改变image view
switch (v.getId()) { case R.id.button: imageView.setImageResource(R.drawable.jelly_bean); break; def ...
- Caffe 源碼閱讀(六) InternalThread
类InternalThread是一个虚类,是Caffe中的多线程接口,其本质是为封装了boost::thread 看源码可以得到以下结论: 1.每个派生类都需要实现一个InternalThreadEn ...
- Cocos2dx对精灵的优化
cocos2dx针对游戏设计的不同方面会有不同的优化方案,可以对声音,对内存,对图片格式,对色彩等等进行优化.有关这些方面的方法请大家查找其他的文章.我今天要说的是如何对精灵进行优化,程序中我们用到的 ...
- GTC China 2016观感
上周二在北京参加了GTC China 2016,最大的感受就是一个字,“冷”!黄教主一如既往坚持机车皮夹克装,9月中旬的北京还没有那么的冷啊,感觉全场的空调简直是为他而开...好的,以上吐槽完毕,接着 ...
- jquery CRUD一个元素class属性
jquery增加,移除,修改一个html标签的class名字 一个标签可以指定多个class 1. 增加一个class: $(".default").addClas ...
- linux find
find 命令用于查找文件系统中的指定文件,其命令格式为:find 要查找的路径 表达式例如:find . -name 1.txt 在当前目录及其子目录下查找文件 1.txtfind ...
- js用户修改密码功能模块
;(function(){ var ajaxSub = false, showError = function(msg){ if(msg){ $('#er_txt').html(msg).show() ...
- android gradle的全局管理
转自:https://github.com/stormzhang 工程目录下建立baseConfig.gradle文件 内容如下 ext { android = [compileSdkVersion: ...