实验2函数与数组.docx
- 文档编号:3132774
- 上传时间:2023-05-05
- 格式:DOCX
- 页数:14
- 大小:129.38KB
实验2函数与数组.docx
《实验2函数与数组.docx》由会员分享,可在线阅读,更多相关《实验2函数与数组.docx(14页珍藏版)》请在冰点文库上搜索。
实验2函数与数组
实验2函数和数组
一、实验目的
本实验的目的用于指导掌握Java语言中的函数和数组,熟练函数的定义与调用;函数参数的传递,形参、实参的关系,函数原型;掌握一维数组和多维数组的应用。
要求读者在调试实例程序后,总结出函数和数组内容。
二、实验内容
1、课本P236,7.8,课本P238,7.21题和P259,8.6题
2、按一定的规则可以将一个字符串经加密转换为一个新的串。
【提示】例如加密的简单方法是当为‘a’~‘y’的小写字母时用后一个字母代替前一个字母,其中‘z’变换为‘a’,其他字符时不变。
例如:
原串为Thisisasecretcode!
加密后的串为Tijtjtbtfdsfudpef!
编写一个程序对输入串加密,输出加密前和加密后的串,再将加密后的字符串解密输出。
自己另设计一个带密钥的加密算法,例如密钥是一个常数,字符串加密的方法是将每个字符的ASCII码值加上该常数,然后对128求模。
【要求】编写两个函数,一个以密钥将输入的字符串加密输出,另一个再以相同的密钥,将加密字符串解密输出。
三、实验要求
1、能正确应用数组,避免数组下标超限问题;
2、能正确设计函数。
3、实验报告给出所有源代码。
四、实验环境
1、PC微机;
2、DOS操作系统或Windows操作系统;
3、Eclipse程序集成环境。
五、实验步骤
编程实现实验内容
六、测试数据
略
七、实验报告
实验报告应包括以下几个部分:
1、程序流程图;
2、程序的数据结构设计;
3、程序的源代码及相关注释
4、程序运行结果的分析。
1.P236,7.8题
packagetest2;
importjava.util.Scanner;
publicclassAverage{
publicstaticvoidmain(String[]args){
//TODOAuto-generatedmethodstub
Scannerinput=newScanner(System.in);
System.out.println("请输入您要测试数的个数");
intl=input.nextInt();
double[]doublenumber=newdouble[l];
int[]intnumber=newint[l];
System.out.println("请输入您的选择,1为输入整数,2为输入浮点数");
inta=input.nextInt();
if(a==1){
//System.out.println("请输入您要测试数的个数");
//intl=input.nextInt();
for(inti=0;i System.out.println("请输入第"+i+"个整数"); intnumber[i]=input.nextInt(); } intintaverage=average(intnumber); System.out.println("平均数为"+intaverage); } if(a==2){ //System.out.println("请输入您要测试数的个数"); //intl=input.nextInt(); for(inti=0;i System.out.println("请输入第"+i+"个浮点数"); doublenumber[i]=input.nextDouble(); } doubledoubleaverage=average(doublenumber); System.out.println("浮点平均数为"+doubleaverage); } } publicstaticdoubleaverage(double[]doublenumber){ doubleh=0.0; for(inti=0;i h=h+doublenumber[i]; } doubles=h/(doublenumber.length); returns; } publicstaticintaverage(int[]intnumber){ inth=0; for(inti=0;i h=h+intnumber[i]; //System.out.println(intnumber.length); } ints=h/(intnumber.length); returns; } } 2.P238,7.21题 packagetest2; importjava.util.Scanner; publicclassgaosipin{ publicstaticvoidmain(String[]args){ String[]m={"L","R"}; Scannerinput=newScanner(System.in); System.out.println("您想测试几个球? "); intj=input.nextInt(); System.out.println("您想要几个槽? "); intj1=input.nextInt()-1; //System.out.println(j1); intcount=0; String[][]n1=newString[j][j1+1]; int[][]n=newint[j][j1+1]; intm1[]=newint[j1+1]; for(inti=0;i count=0; for(inti1=0;i1 n[i][i1]=(int)(Math.random()*2); n1[i][i1]=m[n[i][i1]]; if(n[i][i1]==1){ count+=1; } } m1[count]+=1; } for(inti=j;i>-1;i--){ for(inti1=0;i1 if(m1[i1]>i){ System.out.print(1+""); }else{ System.out.print(0+""); } } System.out.println(""); } //shuchu(n,j,j1); shuchu(m1,j1); shuchu(n1,j,j1); } publicstaticint[]shuchu(int[]m,intj1){ for(inti=0;i System.out.print(m[i]+""); if((j1)==i){ System.out.println(""); } } returnm; } publicstaticString[][]shuchu(String[][]m,intj,intj1){ for(inti=0;i for(inti1=0;i1 System.out.print(m[i][i1]+""); if((j1-1)==i1){ System.out.println(""); } } } returnnull; } } 3.P259,8.6题 packagecn.fantasies.experiment; importjava.text.DecimalFormat; importjava.util.Scanner; publicclassMultiplyMatrix{ publicstaticvoidmain(String[]args){ Scannerinput=newScanner(System.in); double[][]matrix1=newdouble[3][3]; double[][]matrix2=newdouble[3][3]; System.out.print("Entermatrix1(3×3): "); Stringstr1=input.nextLine(); matrix1=stringToDouble(str1); System.out.print("Entermatrix2(3×3): "); Stringstr2=input.nextLine(); input.close(); matrix2=stringToDouble(str2); double[][]result=multiplyMatrix(matrix1,matrix2); System.out.println("Themultiplicationofthematricesis: "); printDoubleArray(matrix1); System.out.println("*"); printDoubleArray(matrix2); System.out.println("="); printDoubleArray(result); } privatestaticvoidprintDoubleArray(double[][]result){ DecimalFormatdf=newDecimalFormat("#.0"); for(inti=0;i for(intj=0;j System.out.print(df.format(result[i][j])+"\t"); } System.out.println(); } } publicstaticdouble[][]multiplyMatrix(double[][]matrix1,double[][]matrix2){ double[][]res=newdouble[3][3]; for(inti=0;i<3;i++){ for(intj=0;j<3;j++){ res[i][j]=matrix1[i][0]*matrix2[0][j]+matrix1[i][1]*matrix2[1][j]+matrix1[i][2]*matrix2[2][j]; } } returnres; } privatestaticdouble[][]stringToDouble(Stringstr){ String[]temp=str.split(""); double[][]matrix=newdouble[3][3]; inti=0; for(introw=0;row<3;row++){ for(intcol=0;col<3;col++){ matrix[row][col]=Double.parseDouble(temp[i++]); } } returnmatrix; } } 4.字符串加密 packageshiyan3; importjava.util.Scanner; publicclassencryption{ publicstaticvoidmain(String[]args){ //TODOAuto-generatedmethodstub System.out.println("请选择您的操作1加密2解密"); Scannerinput=newScanner(System.in); intnum1=input.nextInt(); if(num1==1){ encryption1(); }elseif(num1==2){ decrypt(); } } publicstaticchar[]encryption1(){ Scannerinput=newScanner(System.in); intnum2=5; System.out.println("请输入您要加密的字符"); Stringstr1=input.nextLine(); intnum1=str1.length(); char[]str=newchar[num1]; for(inti=0;i str[i]=(char)(str1.charAt(i)+num2); } System.out.println(str); returnstr; } publicstaticchar[]decrypt(){ intnum2=5; Scannerinput=newScanner(System.in); System.out.println("请输入您要解密的字符"); Stringstr1=input.nextLine(); intnum1=str1.length(); char[]str=newchar[num1]; for(inti=0;i str[i]=(char)(str1.charAt(i)-num2); } System.out.println(str); returnstr; } } 八、思考题 实验的难度不大,关键在于如何处理用户的输入,如非法字符,长度问题等。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验2 函数与数组 实验 函数 数组