




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
java中参数传递问题/*最后思考题1:看程序写结果,然后分析为什么是这个样子的。并画图讲解总结Java中参数传递规律。最后Java中的参数传递问题:基本类型:形式参数的改变对实际参数没有影响。引用类型:形式参数的改变直接影响实际参数。*/classArgsDemo{publicstaticvoidmain(String[]args){inta=10;intb=20;System.out.println("a:"+a+",b:"+b);//a:10,b:20change(a,b);System.out.println("a:"+a+",b:"+b);//???a:10,b:20int[]arr={1,2,3,4,5};change(arr);System.out.println(arr[1]);//???4}publicstaticvoidchange(inta,intb){//a=10,b=20System.out.println("a:"+a+",b:"+b);//a:10,b:20a=b;//a=20b=a+b;//b=40System.out.println("a:"+a+",b:"+b);//a:20,b:40}publicstaticvoidchange(int[]arr){//arr={1,2,3,4,5};for(intx=0;x<arr.length;x++){if(arr[x]%2==0){arr[x]*=2;}}//arr={1,4,3,8,5};}}练习/*某个公司采用公用电话传递数据信息,数据是小于 8位的整数,为了确保安全,在传递过程中需要加密,加密规则如下:首先将数据倒序,然后将每位数字都加上 5,再用和除以10的余数代替该数字,最后将第一位和最后一位数字交换。请任意给定一个小于8位的整数,然后,把加密后的结果在控制台打印出来。题目要求:A:数据是小于8位的整数定义一个int类型的数据intnumber=123456;B:加密规则a:首先将数据倒序结果654321b:然后将每位数字都加上5,再用和除以10的余数代替该数字结果109876c:最后将第一位和最后一位数字交换结果609871C:把加密后的结果输出在控制台通过简单的分析,我们知道如果我们有办法把这个数据变成数组就好了。不是直接写成这个样子的:int[]arr={1,2,3,4,5,6};如何把数据转成数组呢?A:定义一个数据intnumber=123456;B:定义一个数组,这个时候问题就来了,数组的长度是多少呢int[]arr=newint[8];//不可能超过8在赋值的时候,我用一个变量记录索引的变化。定义一个索引值是0intindex=0;C:获取每一个数据intge=number%10intshi=number/10%10intbai=number/10/10%10arr[index]=ge;index++;arr[index]=shi;index++;arr[index]=bai;*/classJiaMiDemo{publicstaticvoidmain(String[]args){//定义一个数据intnumber=123456;//定义一个数组int[]arr=newint[8];//把数据中每一位上的数据获取到后存储到数组中/*intindex=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;*///通过观察这个代码,我们发现应该是可以通过循环改进的intindex=0;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(intx=0;x<index;x++){arr[x]+=5;arr[x]%=10;}//最后将第一位和最后一位数字交换inttemp=arr[0];arr[0]=arr[index-1];arr[index-1]=temp;//输出数据for(intx=0;x<index;x++){System.out.print(arr[x]);}System.out.println();}}改进代码/*把刚才的代码改进一下:A:把数据改进为键盘录入B:把代码改进为方法实现另一个数据的测试:number:1234567第一步:7654321第二步:2109876第三步:6109872知识点:变量数据类型运算符键盘录入语句方法数组*/importjava.util.Scanner;classJiaMiDemo2{publicstaticvoidmain(String[]args){//创建键盘录入对象Scannersc=newScanner(System.in);//请输入一个数据System.out.println("请输入一个数据(小于8位):");intnumber=sc.nextInt();//写功能实现把number进行加密//调用Stringresult=jiaMi(number);System.out.println("加密后的结果是:"+result);}/*需求:写一个功能,把数据number实现加密。两个明确:返回值类型:String做一个字符串的拼接参数列表:intnumber*/publicstaticStringjiaMi(intnumber){//定义数组int[]arr=newint[8];//定义索引intindex=0;//把number中的数据想办法放到数组中while(number>0){arr[index]=number%10;index++;number/=10;//把每个数据加5,然后对10取得余数for(intx=0;x<index;x++){arr[x]+=5;arr[x]%=10;}//把第一位和最后一位交换inttemp=arr[0];arr[0]=arr[index-1];arr[index-1]=temp;//把数组的元素拼接成一个字符串返回//定义一个空内容字符串Strings="";for(intx=0;x<index;x++){s+=arr[x];}returns;}}Java中参数传递图解w加:5),—\1w加:5),—\1f/1/t、4//2/弋33V*■1」4、'$出珂t(int.irt)刚崗Hiinta=tQ;«Ew(iu])publicttaticvoidminStrinj*]in:a-!0intb520.Systmcut.printInra; k/4),〃■:】Cb;20盼gg.pHndnb什:b:0).//W1020int()air=⑴讥侃tasianh$)r$te3Lout.printh.vr:!]),//???4
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 房源核查方案(3篇)
- 财务规划制作方案(3篇)
- 人防门装修方案(3篇)
- 医疗服务准入管理制度
- 学校物资调配管理制度
- 合营公司财务管理制度
- 医疗安全应急管理制度
- 养生调理中心管理制度
- 医疗配套基建方案(3篇)
- DB62T 4363-2021 沙蓬栽培技术规程
- 专项04 工艺流程图题
- 2024年成人高考成考(高起专)数学(文科)试题及答案指导
- 《石油化工储运系统罐区设计规范》(SHT3007-2014)
- 2023版设备管理体系标准
- 2024年广西高考化学试卷真题(含答案解析)
- 技术部研发奖金分配方案1
- 电视台转播和直播工作注意事项及应急预案
- 双减背景下初中数学分层设计作业课题研究结题总结汇报
- 食堂食材配送采购 投标方案(技术方案)
- 临床试验行业消费市场分析
- 抗量子密码技术与应用白皮书
评论
0/150
提交评论