到这里举一个小例子把语法部分梳理一下,下一节开始进入java正式基础——面向对象的学习整理。

案例:

/*某个公司采用公用电话传递数据信息,数据是小于8位的整数,为了确保安全,在传递过程中需要加密,加密规则如下:首先将数据倒序,然后将每位数字都加上5,再用和除以10的余数代替该数字,最后将第一位和最后一位数字交换。 请任意给定一个小于8位的整数,然后,把加密后的结果在控制台打印出来。 题目要求:A:数据是小于8位的整数定义一个int类型的数据int number = 123456;B:加密规则a:首先将数据倒序结果 654321b:然后将每位数字都加上5,再用和除以10的余数代替该数字结果 109876c:最后将第一位和最后一位数字交换结果 609871C:把加密后的结果输出在控制台通过简单的分析,我们知道如果我们有办法把这个数据变成数组就好了。不是直接写成这个样子的:int[] arr = {1,2,3,4,5,6};如何把数据转成数组呢?A:定义一个数据int number = 123456;B:定义一个数组,这个时候问题就来了,数组的长度是多少呢?int[] arr = new int[8]; //不可能超过8在赋值的时候,我用一个变量记录索引的变化。定义一个索引值是0int index = 0;C:获取每一个数据int ge = number%10int shi = number/10%10int bai = number/10/10%10arr[index] = ge;index++;arr[index] = shi;index++;arr[index] = bai;...
*/
class JiaMiDemo {public static void main(String[] args) {//定义一个数据int number = 123456;//定义一个数组int[] arr = new int[8];//把数据中每一位上的数据获取到后存储到数组中/*int index = 0;arr[index] = number%10; //arr[0]=6;index++;arr[index] = number/10%10; //arr[1]=5;index++;arr[index] = mumber/10/10%10; //arr[2]=4;*///通过观察这个代码,我们发现应该是可以通过循环改进的int index = 0;//index的大小正好是实际数组的长度while(number > 0) { //number=123456,number=12345,number=1234,number=123,number=12,number=1,number=0arr[index] = number%10; //arr[0]=6,arr[1]=5,arr[2]=4,arr[3]=3,arr[4]=2,arr[5]=1index++;//index=1,index=2,index=3,index=4,index=5,index=6number/=10;//number=12345,number=1234,number=123,number=12,number=1,number=0}//然后将每位数字都加上5,再用和除以10的余数代替该数字for(int x=0; x<index; x++) {arr[x] += 5;arr[x] %= 10;}//最后将第一位和最后一位数字交换int temp = arr[0];arr[0] = arr[index-1];arr[index-1] = temp;//输出数据for(int x=0; x<index; x++) {System.out.print(arr[x]);}System.out.println();}
}
/*把刚才的代码改进一下:A:把数据改进为键盘录入B:把代码改进为方法实现另一个数据的测试:number:1234567第一步:7654321第二步:2109876第三步:6109872知识点:变量数据类型运算符键盘录入语句方法数组
*/
import java.util.Scanner;class JiaMiDemo2 {public static void main(String[] args) {//创建键盘录入对象Scanner sc = new Scanner(System.in);//请输入一个数据System.out.println("请输入一个数据(小于8位):");int number = sc.nextInt();//写功能实现把number进行加密//赋值调用String result = jiaMi(number);//方法调用后会产生一个字符串类型的返回值System.out.println("加密后的结果是:"+result);}/*需求:写一个功能,把数据number实现加密。两个明确:返回值类型:String 做一个字符串的拼接。参数列表:int number*/public static String jiaMi(int number) {//定义数组int[] arr = new int[8];//定义索引int index = 0;//把number中的数据想办法放到数组中while(number > 0) {arr[index] = number%10;index++;number /= 10;}//把每个数据加5,然后对10取得余数for(int x=0; x<index; x++) {arr[x] += 5;arr[x] %= 10;}//把第一位和最后一位交换int temp = arr[0];arr[0] = arr[index-1];arr[index-1] = temp;//把数组的元素拼接成一个字符串返回//定义一个(空内容)字符串//String s;//错误: 可能尚未初始化变量sString s = "";//s必须要赋值,不然报错。原因会在写到String类的时候说明。for(int x=0; x<index; x++) {s += arr[x];//字符串的拼接  }return s;}
}

转载于:https://www.cnblogs.com/wanghang/p/6299888.html

《java入门第一季》之java语法部分小案例相关推荐

  1. 《java入门第一季》之类String类小案例

    String类有许多获取方法,API文档里面可查看.针对获取方法,给出小案例. /** 需求:遍历获取字符串中的每一个字符* 分析: 用到两个方法:char charAt(int index) 表示获 ...

  2. 《java入门第一季》之面向对象综合小案例

    需求: /*     教练和运动员案例         乒乓球运动员和篮球运动员.         乒乓球教练和篮球教练.         跟乒乓球相关的人员都需要学习英语.         分析,这 ...

  3. 慕课网Java入门第一季教程(六)数组

    目录 什么是数组 如何使用数组 1.声明数组 2.分配空间 3.赋值 4.直接创建数组并赋值 使用循环操作数组 使用 Arrays 类操作 Java 中的数组 1.排序 2.将数组转换成字符串 使用f ...

  4. 《java入门第一季》之面向对象(包概述)

    由于eclipse等ide的强大功能,使得建包,导包用一些快捷键就能完成.这里对包的概念做稍微的叙述,了解即可: 分包后使得项目更加清晰,提高代码维护性. 包:         A:其实就是文件夹   ...

  5. java感谢_这三天看完Java入门第一季和第二季的成果!纪念一下!感谢Java入门的作者!...

    //main入口 package RentCar; import java.util.Scanner; public class Dada { public static void main(Stri ...

  6. 《java入门第一季》之类面试题

    面试题一: String,StringBuffer,StringBuilder的区别?  * A:String是内容不可变的,而StringBuffer,StringBuilder都是内容可变的.   ...

  7. 《java入门第一季》之面向对象(static关键字)

    /*static的特点:(它可以修饰成员变量,还可以修饰成员方法)A:随着类的加载而加载回想main方法.B:优先于对象存在C:被类的所有对象共享举例:班级的学生应该共用同一个班级编号.其实这个特点也 ...

  8. 《java入门第一季》之面向对象

    之前的代码描述都是基于面向过程的,今天开始正式进入面向对象的世界.什么是对象?首先要区分类和对象的概念-- 现实世界中是如何描述一个事物的? 举例:学生 姓名,年龄,性别... 学习,吃饭,睡觉 属性 ...

  9. 《java入门第一季》之面向对象this关键字

    /*起名字要做到见名知意.this:是当前类的对象引用.简单的记,它就代表当前类的一个对象.注意:谁调用这个方法,在该方法内部的this就代表谁.this的场景:解决局部变量隐藏成员变量 */ //定 ...

最新文章

  1. 万字长文概览深度学习的可解释性研究
  2. QCon演讲| 从团伙到团队,PingCode研发团队敏捷实践血泪史
  3. http的“无连接”指的是_【38期】一份tcp、http面试指南,常考点都给你了
  4. MYSQL 取随机记录的方法
  5. Pytorch学习-Task1
  6. gocode+auto-complete搭建emacs的go语言自动补全功能
  7. linux下汇编语言开发总结
  8. 微信小程序 View:flex 布局
  9. BZOJ.5093.[Lydsy1711月赛]图的价值(NTT 斯特林数)
  10. 计算机硬件检测与维修理论试题,计算机硬件检测与维修理论试卷(A卷)
  11. 如何在Python中使用生成器(Generate)和yield语句
  12. centos7下修改mysql8表名_CentOS7系统下修改mysql8.0版本密码
  13. 数字逻辑——七段数码管
  14. 到底无支付牌照的电商公司能开展什么样的业务!!
  15. 快速完成网页设计,10个顶尖响应式HTML5网页模板助你一臂之力
  16. linux查找模糊文件位置,linux模糊查找文件用什么命令比较好
  17. 计算机科学导论(5):计算机网络
  18. linux CR2 to JPG
  19. 期货柜台怎样进行配置?
  20. 查询平均工资最低的部门信息

热门文章

  1. VMware虚拟机关闭后托盘运行设置
  2. JavaScript异步编程原理
  3. 关于使用ASP.NET和数据库的笔记
  4. SWF反编译软件Action Script Viewer ASV2011/06发布
  5. ASP運行Excel.Application出錯
  6. php 实现树状组织图插件,使用jstree插件实现树形结构
  7. hyperterminal使用教程_如何在Win中安装使用超级终端HyperTerminal.doc
  8. oracle中srv添加监听服务,Oracle 11g ORA-12514:TNS:监听程序当前无法识别连接描述符中请求的服务...
  9. MATLAB 句柄函数记录——多变量
  10. RocketMQ(十一)——消费的幂等性