昨天有几道题还没有做完,今天继续。
三、
/*现在有如下一个数组:
*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};
*/
public class Test4_3{
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 n=0;
for(int i=0;i<oldArr.length;i++){
if(oldArr[i]!=0){
n++;
}
}
int newArr[]=new int[n];
n=0;
for(int i=0;i<oldArr.length;i++){
if(oldArr[i]!=0){
newArr[n]=oldArr[i];
n++;
}
}
for(int i=0;i<newArr.length;i++){
System.out.print(newArr[i]+"/t");
}
}
}
四、
//定义一个整型数组,保存10个数据,利用程序完成将最大值保存在数组中第一个元素,依次递减。
public class Test4_4{
public static void main(String[] args){
int arr[]={78,64,35,92,48,98,87,94,80,83};
rankArr(arr);
}
public static void rankArr(int temp[]){
for(int i=1;i<temp.length;i++){
System.out.print("第"+i+"次排序时:");
for(int j=0;j<temp.length;j++){
if(temp[j]<temp[i]){
int x=temp[j];
temp[j]=temp[i];
temp[i]=x;
}
}
for(int e=0;e<temp.length;e++){
System.out.print(temp[e]+"、");
}
System.out.println();
}
}
}
每次交换数据后,都输出了所有数组元素,可以观察到元素间的数据交换。
五、
//定义一个整型数组,求出数组元素的和、数组元素的最大值和最小值,并输出所求的结果。
public class Test4_5{
public static void main(String[] args){
int arry[] = new int[10];
assignArry(arry);
prin(sumArry(arry),maxArry(arry),minArry(arry));
prin(arry);
}
//为数组赋值函数
public static void assignArry(int temp1[]){
for(int i=0;i<temp1.length;i++){
temp1[i] = i*2+1;
}
}
//为数组求和函数
public static int sumArry(int temp2[]){
int sum = 0;
for(int i=0;i<temp2.length;i++){
sum += temp2[i];
}
return sum;
}
//为数组求最大值函数
public static int maxArry(int temp3[]){
int max = 0;
for(int i=1;i<temp3.length;i++){
max = temp3[0]>temp3[i] ? temp3[0] : temp3[i];
}
return max;
}
//为数组求最小值函数
public static int minArry(int temp4[]){
int min = 0;
for(int i=1;i<temp4.length;i++){
min = temp4[0]<temp4[i] ? temp4[0] : temp4[i];
}
return min;
}
//数组输出函数
public static void prin(int sum,int max,int min){
System.out.println("数组中元素的和为:"+sum
+"/n数组中最大值是:"+max
+"/n数组中最小值是:"+min);
}
public static void prin(int arry[]){
System.out.print("显示所有数组元素: ");
for(int i=0;i<arry.length;i++){
System.out.print(arry[i]+" ");
}
}
}
自己写的函数,用于输出数组的最大,最小,和为数组赋值,某些函数JAVA肯定有,只是手动多写写,对自己熟悉语言有好处。
六
/*定义一个包含10个元素的数组,对其进行赋值,使每个元素的值等于其下标,
然后输出,最后将数组倒置后输出*/
public class Test4_6{
public static void main(String[] args){
int array[]=new int[10];
arrayAssignment(array);
prin(array);
inveArray(array);
prin(array);
}
//函数:为数组赋值,使其元素值等于其下标
public static void arrayAssignment(int temp[]){
for(int i=0;i<temp.length;i++){
temp[i]=i;
}
}
//函数:倒置数组元素
public static void inveArray(int temp[]){
int tempArray[]=new int[temp.length]; //定义一个临时数组来存放倒置的数据
int j=temp.length-1; //临时数组的下标
for(int i=0;i<temp.length;i++){
tempArray[j] = temp[i];
j--;
}
for(int i=0;i<temp.length;i++){
temp[i]=tempArray[i];
}
}
//函数:输出数组
public static void prin(int temp1[]){
for(int i=0;i<temp1.length;i++){
System.out.print(temp1[i]+" ");
}
System.out.println();
}
}
今天听了张孝祥老师的 黑马训练营准备课程,很受鼓舞,虽然自己的学历和英语应该达不到7K的月薪,但我还是很有信心自己通过努力可以进入程序员的行列。千里之行,始于足下,总有一天会达到要求!