《java入门第一季》之java语法部分小案例
到这里举一个小例子把语法部分梳理一下,下一节开始进入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语法部分小案例相关推荐
- 《java入门第一季》之类String类小案例
String类有许多获取方法,API文档里面可查看.针对获取方法,给出小案例. /** 需求:遍历获取字符串中的每一个字符* 分析: 用到两个方法:char charAt(int index) 表示获 ...
- 《java入门第一季》之面向对象综合小案例
需求: /* 教练和运动员案例 乒乓球运动员和篮球运动员. 乒乓球教练和篮球教练. 跟乒乓球相关的人员都需要学习英语. 分析,这 ...
- 慕课网Java入门第一季教程(六)数组
目录 什么是数组 如何使用数组 1.声明数组 2.分配空间 3.赋值 4.直接创建数组并赋值 使用循环操作数组 使用 Arrays 类操作 Java 中的数组 1.排序 2.将数组转换成字符串 使用f ...
- 《java入门第一季》之面向对象(包概述)
由于eclipse等ide的强大功能,使得建包,导包用一些快捷键就能完成.这里对包的概念做稍微的叙述,了解即可: 分包后使得项目更加清晰,提高代码维护性. 包: A:其实就是文件夹 ...
- java感谢_这三天看完Java入门第一季和第二季的成果!纪念一下!感谢Java入门的作者!...
//main入口 package RentCar; import java.util.Scanner; public class Dada { public static void main(Stri ...
- 《java入门第一季》之类面试题
面试题一: String,StringBuffer,StringBuilder的区别? * A:String是内容不可变的,而StringBuffer,StringBuilder都是内容可变的. ...
- 《java入门第一季》之面向对象(static关键字)
/*static的特点:(它可以修饰成员变量,还可以修饰成员方法)A:随着类的加载而加载回想main方法.B:优先于对象存在C:被类的所有对象共享举例:班级的学生应该共用同一个班级编号.其实这个特点也 ...
- 《java入门第一季》之面向对象
之前的代码描述都是基于面向过程的,今天开始正式进入面向对象的世界.什么是对象?首先要区分类和对象的概念-- 现实世界中是如何描述一个事物的? 举例:学生 姓名,年龄,性别... 学习,吃饭,睡觉 属性 ...
- 《java入门第一季》之面向对象this关键字
/*起名字要做到见名知意.this:是当前类的对象引用.简单的记,它就代表当前类的一个对象.注意:谁调用这个方法,在该方法内部的this就代表谁.this的场景:解决局部变量隐藏成员变量 */ //定 ...
最新文章
- 万字长文概览深度学习的可解释性研究
- QCon演讲| 从团伙到团队,PingCode研发团队敏捷实践血泪史
- http的“无连接”指的是_【38期】一份tcp、http面试指南,常考点都给你了
- MYSQL 取随机记录的方法
- Pytorch学习-Task1
- gocode+auto-complete搭建emacs的go语言自动补全功能
- linux下汇编语言开发总结
- 微信小程序 View:flex 布局
- BZOJ.5093.[Lydsy1711月赛]图的价值(NTT 斯特林数)
- 计算机硬件检测与维修理论试题,计算机硬件检测与维修理论试卷(A卷)
- 如何在Python中使用生成器(Generate)和yield语句
- centos7下修改mysql8表名_CentOS7系统下修改mysql8.0版本密码
- 数字逻辑——七段数码管
- 到底无支付牌照的电商公司能开展什么样的业务!!
- 快速完成网页设计,10个顶尖响应式HTML5网页模板助你一臂之力
- linux查找模糊文件位置,linux模糊查找文件用什么命令比较好
- 计算机科学导论(5):计算机网络
- linux CR2 to JPG
- 期货柜台怎样进行配置?
- 查询平均工资最低的部门信息
热门文章
- VMware虚拟机关闭后托盘运行设置
- JavaScript异步编程原理
- 关于使用ASP.NET和数据库的笔记
- SWF反编译软件Action Script Viewer ASV2011/06发布
- ASP運行Excel.Application出錯
- php 实现树状组织图插件,使用jstree插件实现树形结构
- hyperterminal使用教程_如何在Win中安装使用超级终端HyperTerminal.doc
- oracle中srv添加监听服务,Oracle 11g ORA-12514:TNS:监听程序当前无法识别连接描述符中请求的服务...
- MATLAB 句柄函数记录——多变量
- RocketMQ(十一)——消费的幂等性