实验3方法和数组Word格式文档下载.docx
- 文档编号:17735108
- 上传时间:2022-12-09
- 格式:DOCX
- 页数:35
- 大小:216.34KB
实验3方法和数组Word格式文档下载.docx
《实验3方法和数组Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《实验3方法和数组Word格式文档下载.docx(35页珍藏版)》请在冰豆网上搜索。
for(inti=0;
i<
list.length-1;
i++){//第一层循环,控制拍第x数
doublecurrentMin=list[i];
//currentMin存储现有的最小值
intcurrentMinIndex=i;
//最小值的位置
for(intj=i+1;
j<
list.length;
j++){
if(currentMin>
list[j]){//如果有比他小的
currentMin=list[j];
//吧此时的值放入currentMin
currentMinIndex=j;
//记下此时的位置
}
}
if(currentMinIndex!
=i){
list[currentMinIndex]=list[i];
list[i]=currentMin;
}//交换位置
}
System.out.println("
排序结果是:
"
);
i++){
System.out.print("
"
+list[i]);
//输出已排序数组
}
运行结果贴图:
2.插入排序
publicclassLX3_2{
insertionSort(text);
publicstaticvoidinsertionSort(double[]list){
for(inti=1;
doublecurrentElement=list[i];
//找见现在排序的元素
intk;
for(k=i-1;
k>
=0&
&
list[k]>
currentElement;
k--){
list[k+1]=list[k];
//移动出插入位置
list[k+1]=currentElement;
//放入插入数据
3冒泡排序
publicclassLX3_3{
Sort(text);
publicstaticvoidSort(double[]list){
for(intj=list.length-1;
j>
i;
j--){//length-1length超出范围
if(list[j]<
list[j-1]){
doublet=list[j];
list[j]=list[j-1];
list[j-1]=t;
‘
运行结果贴图:
(2)编写程序实现两个矩阵的相加、相乘。
要求程序运行结果形如如下显示:
Arrayc
123
456
789
Arrayd
222
111
333
Arrayc+d
345
567
101112
Arrayc*d
131313
313131
494949
publicclassLX3_4{
/**
*@paramargs
*/
int[][]c={{1,2,3},{4,5,6},{7,8,9}};
int[][]d={{2,2,2},{1,1,1},{3,3,3}};
System.out.println("
Arrayc"
shuChu(c);
Arrayd"
shuChu(d);
Arrayc+d"
Add(c,d);
Arrayc*d"
Cheng(c,d);
//TODOAuto-generatedmethodstub
publicstaticvoidshuChu(int[][]shuChu){
for(inti=0;
i<
3;
i++){
for(intj=0;
j<
j++){
System.out.printf("
%4d"
shuChu[i][j]);
System.out.println();
publicstaticvoidAdd(int[][]add1,int[][]add2){
int[][]Answer=newint[3][3];
Answer[i][j]=add1[i][j]+add2[i][j];
shuChu(Answer);
publicstaticvoidCheng(int[][]cheng1,int[][]cheng2){
Answer[i][j]=cheng1[i][0]*cheng2[0][j]+cheng1[i][1]
*cheng2[1][j]+cheng1[i][2]*cheng2[2][j];
(3)将用“;
”和“,”分割的包含数字字符的字符串“23,21.3,33;
34,2,1.9,2.1;
3,3,1,3,4,4.9”中的数据解析出来放在一个double类型的二维数组中,以分号分割二维数组的每一行,以逗号分割每行中的各个元素。
(利用String的split方法)
importjavax.swing.plaf.basic.BasicBorders.SplitPaneBorder;
publicclassLX3_5{
String[]a="
23,21.3,33;
34,2,1.9,2.1;
3,3,1,3,4,4.9"
.split("
;
String[][]b=newString[3][];
a.length;
b[i]=a[i].split("
"
//第i行的值,且split仅能放入Stringl类型
double[][]c=newdouble[3][8];
//第二个必须有范围,否则无法运行
b[i].length;
c[i][j]=Double.parseDouble(b[i][j]);
%-8.1f"
c[i][j]);
(4)查看帮助、编写例子
利用System类中的arraycopy()方法复制数组。
分别用Arrays类中的sort方法和binarySearch方法实现数组的排序和折半查找。
1.复制数组:
publicclassLX3_6{
int[]old={1,2,3,4,5,6,7};
int[]copy=newint[7];
System.arraycopy(old,0,copy,0,old.length);
copy.length;
System.out.println(copy[i]);
2.数组排序:
publicclassLX3_7{
double[]te={7,4,3,9,0,6};
Arrays.sort(te);
//多种方法重载
te.length;
System.out.println(te[i]);
3.折半查找:
publicclassLX3_8{
double[]te={1,9,21,31,44,56,78,99};
请输入要查找的数"
Scannerinput=newScanner(System.in);
inti=input.nextInt();
System.out.println(Arrays.binarySearch(te,i));
(5)随机生成100个小写字母,统计每个字母出现的次数,并显示出来。
(利用Math.random()方法随机产生)
publicclassLX3_9{
char[]number=newchar[100];
number.length;
number[i]=(char)('
a'
+Math.random()*('
z'
-'
+1));
CountNumber(number);
publicstaticvoidCountNumber(char[]Count){
int[]counts=newint[26];
Count.length;
counts[Count[i]-'
]++;
//count字符减字符存到相应的位置
SystemOut(counts);
publicstaticvoidSystemOut(int[]syso){
syso.length;
System.out.println((char)(i+'
)+"
出现的次数是:
+syso[i]);
//i对应a~z
(6)建立一个不规则的二维数组如下,并在控制台显示,数组如下
135
2468
19162536
102030
123456
publicclassLX3_10{
int[][]new1={{1,3,5},{2,4,6,8},{1,9,16,25,36},
{10,20,30},{1,2,3,4,5,6}};
5;
new1[i].length;
%-4d"
new1[i][j]);
(7)编写两个重载的方法分别交换两个整型变量,和整型数组的第一个和第二个元素,运行并分析结果
publicclassLX3_11{
inta=2,b=5;
int[]c={2,5};
Switch(a,b);
Switch(c);
publicstaticvoidSwitch(inta,intb){
intt;
t=a;
a=b;
b=t;
交换以后:
a="
+a+"
b="
+b);
publicstaticvoidSwitch(int[]a){
t=a[0];
a[0]=a[1];
a[1]=t;
a[0]="
+a[0]+"
a[1]="
+a[1]);
课后作业题
P1535.165.235.25
P1846.13
P1866.26
P2027.17.27.67.23*
5.16
publicclassLX3_12{
for(inti=2000;
=2010;
System.out.println(i+"
年的天数是"
+numberOfDaysInYear(i));
publicstaticintnumberOfDaysInYear(intyear){
if(year%400==0||(year%4==0&
year%100!
=0)){
return366;
}else{
return365;
5.23
publicclassLX3_13{
100个大写字母:
SysOut('
A'
'
Z'
100个一位数:
0'
9'
publicstaticchargetRandomCharacter(charch1,charch2){
return(char)(ch1+Math.random()*(ch2-ch1+1));
publicstaticvoidSysOut(charzf1,charzf2){
10;
%-4c"
getRandomCharacter(zf1,zf2));
5.25
publicclassLX3_14{
请输入毫秒数:
longi=input.nextLong();
System.out.println(convertMillis(i));
publicstaticStringconvertMillis(longmills){
longa=mills/3600000;
longb=(mills-a*3600000)/60000;
longc=(mills-a*3600000-b*60000)/1000;
return(a+"
:
+b+"
+c);
/*转换为String类型1.i+"
空或字符串"
2String.valueOf(i);
*/
6.13
publicclassLX3_15{
int[]a={1,4,13,51};
System.out.println(getRandom(a));
publicstaticintgetRandom(int...numbers){
ints=(int)(1+Math.random()*54);
numbers.length;
inta=numbers[i]-s;
if(a==0){
s=getRandom(numbers);
returns;
6.26
publicclassLX3_16{
Enterlist1"
int[]list1=creatArray();
Enterlist2"
int[]list2=creatArray();
compare(list1,list2);
publicstaticint[]creatArray(){
intlength=0;
length=input.nextInt();
int[]a=newint[length];
a[i]=input.nextInt();
returna;
publicstaticvoidcompare(int[]ch1,int[]ch2){
ints=0;
if(ch1.length==ch2.length){
for(inti=0;
ch1.length;
s=ch1[i]-ch2[i];
if(s!
=0){
System.out.println("
Twolistsarenotstrictlyidentical"
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 方法 数组