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在外部存储空间中读写文件
一.外部存储的目录 1.2.3之前是/sdcard 2.4.3之前是在/mnt/sdcard 3.4.3之后是在/storage/sdcard 二.读写读写外部存储 1.直接写路径 File file ...
- MFC绘制图片闪烁详解
用MFC如何高效地绘图 显示图形如何避免闪烁,如何提高显示效率是问得比较多的问题. 而且多数人认为MFC的绘图函数效率很低,总是想寻求其它的解决方案. MFC的 ...
- 区分苹果Safari浏览器
区分苹果Safari浏览器 (function() { var Sys = {}; var ua = navigator.userAgent.toLowerCase(); var s; (s = ua ...
- 转载——C++控制台贪吃蛇代码
游戏截图: 以下是3个代码文件: Snake_Class.h文件: 1 #ifndef SNAKE 2 #define SNAKE 3 4 #include<windows.h> 5 #i ...
- HTML 样式属性
@charset "utf-8"; /* CSS Document */ <style> p{ /*背景与前景*/ background-color:#000;/*背景 ...
- Android ScrollView与ListView的冲突解决办法汇总
1. public void setListViewHeight(){ ListAdapter listadapter = lv.getAdapter(); if (listadapter == n ...
- node.js实用小模块
1.浮点数操作 npm install float 2.MD5加密类 npm install MD5 3.xml解析类 1 npm install elementtree 4.转换字符串大小写 1 n ...
- oracle 行转列、列转行
最近做数据处理,经常遇到需要行转列.列转行的场景,记录个非常简单实用的oracle 列转行.行转的列方法 1.行转列,基础数据如下 做行转列处理 处理SQL select user_name,max ...
- c# DllImport 找不到指定模块
两年前的一个项目,基于身份证阅读器的开发,之前都是在公司电脑上开发维护等,今天有需要用到自己的笔记本,只有vs2008和mysql5.5,以为足够,兴致勃勃的拿到客户那里现场解决问题,F5运行程序,程 ...
- 运算符 与 分支语句:if ,else if,else;switch case
分支语句: if else if else : switch case --如何使用 if else if else: Console. ...