当前位置:首页 > Java技术 > 【Java编程思想

【Java编程思想

2022年08月05日 02:52:07Java技术4

Thinking in Java



这个程序我自己敲出来的代码,用的方法很笨的感觉,将就着吧,目前没时间想那么多,得继续学啊。

 1 class Vnum{
 2     public static void main(String args[]){
 3         CheckVampire cVampire = new CheckVampire();
 4         for(int i=1000;i<10000;i++){
 5             if(cVampire.isVampire(i)){
 6                 System.out.println(i);
 7             }
 8         }
 9     }
10 
11     static class CheckVampire{
12         // 将num拆分为每一个,保存在numArr[]中
13         void EveryBit(int num,int numArr[]){
14             if((1000>num)||(10000<num)){
15                 numArr[0]=numArr[1]=numArr[2]=numArr[3]=0;
16                 return;
17             }else if(num%100==0){
18                 numArr[0]=numArr[1]=numArr[2]=numArr[3]=0;
19                 return;
20             }else{
21                 numArr[3]=num/1000;
22                 numArr[2]=num%1000/100;
23                 numArr[1]=num%100/10;
24                 numArr[0]=num%10;
25             }
26         }
27         //输入一个num,返回值为true则该num为吸血鬼数字
28         //由于是检测1000~9999以内的吸血鬼数字,则使用穷举法= =,网上应该有更好的办法
29         boolean isVampire(int num){
30             int numEveryBit[]=new int[4];
31             EveryBit(num,numEveryBit);
32             if(num==(numEveryBit[0]*10+numEveryBit[1])*(numEveryBit[2]*10+numEveryBit[3])){
33                 return true;
34             }
35             else if(num==(numEveryBit[0]*10+numEveryBit[1])*(numEveryBit[3]*10+numEveryBit[2])){
36                 return true;
37             }
38             else if(num==(numEveryBit[1]*10+numEveryBit[0])*(numEveryBit[2]*10+numEveryBit[3])){
39                 return true;
40             }
41             else if(num==(numEveryBit[1]*10+numEveryBit[0])*(numEveryBit[3]*10+numEveryBit[2])){
42                 return true;
43             }
44 
45             else if(num==(numEveryBit[0]*10+numEveryBit[2])*(numEveryBit[1]*10+numEveryBit[3])){
46                 return true;
47             }
48             else if(num==(numEveryBit[0]*10+numEveryBit[2])*(numEveryBit[3]*10+numEveryBit[1])){
49                 return true;
50             }
51             else if(num==(numEveryBit[2]*10+numEveryBit[0])*(numEveryBit[1]*10+numEveryBit[3])){
52                 return true;
53             }
54             else if(num==(numEveryBit[2]*10+numEveryBit[0])*(numEveryBit[3]*10+numEveryBit[1])){
55                 return true;
56             }
57 
58             else if(num==(numEveryBit[0]*10+numEveryBit[3])*(numEveryBit[1]*10+numEveryBit[2])){
59                 return true;
60             }
61             else if(num==(numEveryBit[0]*10+numEveryBit[3])*(numEveryBit[2]*10+numEveryBit[1])){
62                 return true;
63             }
64             else if(num==(numEveryBit[3]*10+numEveryBit[0])*(numEveryBit[1]*10+numEveryBit[2])){
65                 return true;
66             }
67             else if(num==(numEveryBit[3]*10+numEveryBit[0])*(numEveryBit[2]*10+numEveryBit[1])){
68                 return true;
69             }
70             else{
71                 return false;
72             }
73         }
74     }
75 }

 


作者:android无聊大神
来源链接:https://www.cnblogs.com/JackOwen/p/3912439.html

版权声明:
1、JavaClub(https://www.javaclub.cn)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。

2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。


本文链接:https://www.javaclub.cn/java/17805.html

分享给朋友:

“【Java编程思想” 的相关文章

读Java编程思想随笔の数组

  数组与其他种类的容器之间区别有三:效率、类型和保存基本类型的能力。在Java中,数组是一种最高的存储和随机访问对象引用序列的方式。数组就是一个简单的线性序列,这使得元素访问非常快速。但是为这种速度所付出的代价是数组对象的大小被固定,并且在其生命周期中不可改变。你可以能会建议使用Ar...

Java编程思想 4th 第2章 一切都是对象

Java编程思想 4th 第2章 一切都是对象

Java是基于C++的,但Java是一种更纯粹的面向对象程序设计语言,和C++不同的是,Java只支持面向对象编程,因此Java的编程风格也是纯OOP风格的,即一切都是类,所有事情通过类对象协作来完成。 在Java中,使用引用来操纵对象,在Java编程思想的第四版中,使用的术语是...

Java编程思想学习(五)----第5章:初始化与清理

随着计算机革命的发展,“不安全”的编程方式已逐渐成为编程代价高昂的主因之一。 C++引入了构造嚣(constructor)的概念,这是一个在创建对象时被自动调用的特殊方法。Java中也采用了构造器,并额外提供了“垃圾回收器”。对于不再使用的内存资源,垃圾回收器能自动将其释放。...

回顾Java编程思想篇(一)

本文主要介绍Java中对象的理解。 很久以前看过Java编程思想这本书,当时看得不是很懂,重新拿起这本书,感觉非常陌生,于是产生了重新研究的念头,并做一些读书笔记。   一、一切都是对象 1、Java与...

JAVA编程思想三

第三章主要是对JAVA控制执行流程的介绍,在这里注意到了几点与C++的不同之处: (1)Java不允许像C++中对一个数字作为布尔类型的判断,即0为false,非0为true; (2)逗号操作符在C++中是取最后一个表达式的值作为整个表达式的值;在Java中将逗号操作符一般...

Java编程思想读书笔记之内部类

         现在是够懒得了,放假的时候就想把这篇笔记写出来,一直拖到现在,最近在读《Java编程思想》,我想会做不止这一篇笔记,因为之前面试的时候总会问道一些内部类的问题,那这本书的笔记就从内部类开始...

[JAVA]java编程思想-第一章-对象入门

第1章 对象入门 “为什么面向对象的编程会在软件开发领域造成如此震憾的影响?” 面向对象编程(OOP)具有多方面的吸引力。对管理人员,它实现了更快和更廉价的开发与维护过程。对分析与设计人员,建模处理变得更加简单,能生成清晰、易于维护的设计方案。对程序员,对象模...

Java编程思想第四版勘误

  坊间传说这本书翻译得很烂,我倒觉得还好。虽然看原文更准确,但是如果在具备一定编程思维和基础、能够看出来疑问的情况下,还是看中文更快一些,而且这本书本身也不适合初学者看。当然,错误和不通顺还是有的,而且官方和网上居然没有一份公开的勘误表,至少我没有搜到,搜索“Java编程思想第四版勘...

Java编程思想【温故知新】

第一章:对象导论 1. 抽象过程(类与对象的关系)   类是一类对象的共同行为(成员函数)与状态(成员变量),对象是具体类的实例化。(Eg.人类是一个类,共同的行为:吃,状态:名字。)   【类创建者需要考虑这件事情,回头看看这个概念四个字醍醐灌顶,每次创建这...

Java编程思想学习(十五) 注解

注解Annotation又叫元数据,是JDK5中引入的一种以通用格式为程序提供配置信息的方式。使用注解Annotation可以使元数据写在程序源码中,使得代码看起来简洁,同时编译器也提供了对注解Annotation的类型检查,使得在编译期间就可以排除语法错误。 1JDK内置的3中...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。