admin 管理员组文章数量: 887032
2024年1月11日发(作者:二叉树的度数等于什么)
基础Java数组练习题及答案
在开发的时候主方法之中的代码越少越好。
1、 将一个给定的整型数组转置输出,
例如: 源数组,1 2 3 4 5 6
转置之后的数组,6 5 4 3 2 1
public class MyDemo {
public static void main(String args[]){
int [] data = new int[7] ;
init(data) ; // 将数组之中赋值
print(data) ;
n() ;
reverse(data) ;
print(data) ;
}
public static void reverse(int temp[]){
int center = / 2 ; // 求出中心点
int head = 0 ; // 表示从前开始计算脚标
int tail = - 1 ; // 表示从后开始计算脚标
for(int x = 0 ; x
int t = temp[head] ;
temp[head] = temp[tail] ;
temp[tail] = t ;
1 / 5
基础Java数组练习题及答案
head ++ ;
tail -- ;
}
}
public static void init(int temp[]){
for(int x = 0 ; x < ; x++){
temp[x] = x + 1 ;
}
}
public static void print(int temp[]){
for(int x = 0 ; x< ; x++){
(temp[x] + "、") ;
}
}
}
2、 现在有如下的一个数组:
int oldArr[]={1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5} ;
要求将以上数组中值为0的项去掉,将不为0的值存入一个新的数组,生成的新数组为:
int newArr[]={1,3,4,5,6,6,5,4,7,6,7,5} ;
思路:生活中的问题解决 = 程序中的解决;
1、 确定出不为0的个数,这样可以开辟新数组;
2 / 5
基础Java数组练习题及答案
2、 从旧的数组之中,取出内容,并将其赋给新开辟的数组;
public class MyDemo {
public static void main(String args[]){
int oldArr [] = {1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5} ;
int newArr [] = new int[count(oldArr)] ; // 新数组
fun(oldArr,newArr) ;
print(newArr) ;
}
public static void fun(int src[],int data[]){
int foot = 0 ; // 控制新数组的脚标,data
for(int x = 0 ; x < ; x++){
if(src[x] != 0){
data[foot++] = src[x] ;
}
}
}
public static int count(int temp[]){
int num = 0 ;
for(int x = 0 ; x < ; x++){
if(temp[x] != 0){
num ++ ; // 统计个数
}
3 / 5
基础Java数组练习题及答案
}
return num ;
}
public static void print(int temp[]){
for(int x = 0 ; x< ; x++){
(temp[x] + "、") ;
}
}
}
3、 现在给出两个数组:
· 数组A:“1,7,9,11,13,15,17,19:;
· 数组b:“2,4,6,8,10”
两个数组合并为数组c,按升序排列。
public class MyDemo {
public static void main(String args[]){
int data1 [] = new int[] {1,7,9,11,13,17,19} ;
int data2 [] = new int[] {2,4,6,8,10} ;
int newArr [] = concat(data1,data2) ;
(newArr) ;
print(newArr) ;
}
public static int[] concat(int src1[],int src2[]){
4 / 5
基础Java数组练习题及答案
int len = + ; // 新数组的大小
int arr[] = new int[len] ; // 新数组
opy(src1,0,arr,0,) ; // 拷贝第一个数组
opy(src2,0,arr,,) ; // 拷贝第二个数组
return arr ;
}
public static void print(int temp[]){
for(int x = 0 ; x< ; x++){
(temp[x] + "、") ;
}
}
}
主要的目的是熟悉这两个操作的方法,数组扩大,必须要将原始数组的内容拷贝进去。
5 / 5
版权声明:本文标题:基础Java数组练习题及答案 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/free/1704980300h468396.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论