1、编写一个简单程序,要求数组长度为5,分别赋值10,20,30,40,50,在控制台输出该数组的值。(知识点:数组定义和创建、一维数组初始化)
int [ ] a = { 10 , 20 , 30 , 40 , 50 } ;
for ( int i : a) {
System. out. println ( i) ;
}
2、将一个字符数组的值(neusofteducation)拷贝到另一个字符数组中。
char [ ] c = { 'n' , 'e' , 'u' , 's' , 'o' , 'f' , 't' , 'e' , 'd' , 'u' , 'c' , 'a' , 't' , 'i' , 'o' , 'n' } ;
char [ ] c1 = new char [ c. length] ;
for ( int i= 0 ; i< c. length; i++ ) {
c1[ i] = c[ i] ;
}
for ( int i= 0 ; i< c. length; i++ ) {
System. out. print ( c1[ i] + " " ) ;
}
System. out. println ( ) ;
3、给定一个有9个整数(1,6,2,3,9,4,5,7,8)的数组,先排序,然后输出排序后的数组的值。
int [ ] a1 = { 1 , 6 , 2 , 3 , 9 , 4 , 5 , 7 , 8 } ;
int t;
for ( int i= 0 ; i< a1. length- 1 ; i++ ) {
for ( int j= 0 ; j< a1. length- i- 1 ; j++ ) {
if ( a1[ j] > a1[ j+ 1 ] ) {
t= a1[ j] ;
a1[ j] = a1[ j+ 1 ] ;
a1[ j+ 1 ] = t;
}
}
}
System. out. print ( "排序后的数组为:" ) ;
for ( int i : a1) {
System. out. print ( i) ;
}
System. out. println ( ) ;
4、 输出一个double型二维数组(长度分别为5、4,值自己设定)的值。(知识点:数组定义和创建、多维数组初始化、数组遍历)
double [ ] [ ] a2 = new double [ 5 ] [ 4 ] ;
for ( int i= 0 ; i< a2. length; i++ ) {
for ( int j= 0 ; j< a2[ i] . length; j++ ) {
a2[ i] [ j] = i+ j;
}
}
for ( int i= 0 ; i< a2. length; i++ ) {
for ( int j= 0 ; j< a2[ i] . length; j++ ) {
System. out. print ( a2[ i] [ j] + " " ) ;
}
System. out. println ( ) ;
}
5、 在一个有8个整数(18,25,7,36,13,2,89,63)的数组中找出其中最大的数及其下标。(知识点:数组遍历、数组元素访问)
int [ ] a3 = { 18 , 25 , 7 , 36 , 13 , 2 , 89 , 63 } ;
int max = a3[ 0 ] , maxid = 0 ;
for ( int i= 1 ; i< a3. length; i++ ) {
if ( max< a3[ i] ) {
max = a3[ i] ;
maxid = i;
}
}
System. out. println ( "最大是数为:" + max+ ",下标为:" + maxid) ;
1、有2个多维数组分别是 {{2,3,4},{4,6,8}} 和 {{1,5,2,8},{5,9,10,-3},{2,7,-5,-18}}
按照如下方式进行运算。生成一个2行4列的数组。此数组的第1行1列是21+3 5+42第1行2列是2 5+39+4 7, 第2行1列是41+6 5+8*2 依次类推。(知识点:多维数组定义和创建、数组遍历、数组元素访问)
int [ ] [ ] a4= { { 2 , 3 , 4 } , { 4 , 6 , 8 } } ;
int [ ] [ ] a5= { { 1 , 5 , 2 , 8 } , { 5 , 9 , 10 , - 3 } , { 2 , 7 , - 5 , - 18 } } ;
int [ ] [ ] a6= new int [ 2 ] [ 4 ] ;
for ( int i= 0 ; i< a6. length; i++ ) {
for ( int j= 0 ; j< a6[ i] . length; j++ ) {
for ( int k= 0 ; k< a5. length; k++ ) {
a6[ i] [ j] = a6[ i] [ j] + a4[ i] [ k] * a5[ k] [ j] ;
}
}
}
for ( int i= 0 ; i< a6. length; i++ ) {
for ( int j= 0 ; j< a6[ i] . length; j++ ) {
System. out. print ( a6[ i] [ j] + " " ) ;
}
System. out. println ( ) ;
}
2、将一个数组中的元素逆序存放(知识点:数组遍历、数组元素访问)
int [ ] a7 = { 1 , 2 , 3 , 4 , 5 , 6 , 7 } ;
int temp;
for ( int i= 0 ; i< a7. length/ 2 ; i++ ) {
temp = a7[ i] ;
a7[ i] = a7[ a7. length- i- 1 ] ;
a7[ a7. length- i- 1 ] = temp;
}
for ( int i : a7) {
System. out. print ( i+ " " ) ;
}
System. out. println ( ) ;
3. 将一个数组中的重复元素保留一个其他的清零。(知识点:数组遍历、数组元素访问)
int [ ] a9 = { 2 , 2 , 3 , 3 , 4 , 5 , 6 } ;
boolean [ ] b = new boolean [ a9. length] ;
for ( int i= 0 ; i< a9. length- 1 ; i++ ) {
if ( b[ i] ) {
continue ;
}
for ( int j= i+ 1 ; j< a9. length; j++ ) {
if ( a9[ i] == a9[ j] && ! b[ j] ) {
b[ j] = true ;
}
}
}
for ( int i= 0 ; i< a9. length; i++ ) {
if ( b[ i] ) continue ;
System. out. print ( a9[ i] + " " ) ;
}
System. out. println ( ) ;