JAVA中一道题目求解!

2024-12-22 00:48:57
推荐回答(5个)
回答1:

import java.util.Arrays;
public class Test {
    public static void main(String[] args) {
        int[] array = new int[]{1,3,-1,5,-2};
        int[] newArray = new int[array.length];
        newArray = nixu(array);
        System.out.println("原数组:"+Arrays.toString(array));
        System.out.println("新数组:"+Arrays.toString(newArray));
    }
    
    /**
     * 方法说明:新数组的元素与原数组中得元素逆序,并且如果原数组中得元素值小于0,在新数据中按0存储
     * @param array    原数组
     * @return 新数组
     */
    private static int[] nixu(int[] array) {
        int[] shus = new int[array.length];
        for(int i=array.length-1;i>=0;i--){
            if (array[i]<0) {
                shus[array.length-1-i]=0;
            } else {
                shus[array.length-1-i]=array[i];
            }
            
        }
        return shus;
    }
}

回答2:

int[] s={-1,5,-3,3,2,-8,6,5,-9,9,7}; //定义一个任意长度的原数组
int len=s.length; //获得原数组长度
int[] s1=new int[len]; //定义一个用于保存倒叙后的新数组,长度为原数组长度

for(int i=0;i {
if(s[i]<0) //如果小于0,则将值设为0
{
s[i]=0;
}
s1[len-1]=s[i]; //将数组倒序
len--;
}

for(int j:s1)//输出
{
System.out.println(j);
}

回答3:

public class SA
{
public static void main(String[] args)
{
int[] array = new int[] { 1, 3, -1, 5, -2 };
int[] array1 = new int[array.length];
System.out.print("array:");
for (int i = 0; i < array.length; i++)
{
System.out.print(array[i]+" ");
// (array[i] < 0) ? 0 : array[i];//三目运算符
array1[array1.length - i - 1] = (array[i] < 0) ? 0 : array[i];
}
System.out.println();
System.out.print("array1:");
for(int j=0;j System.out.print(array1[j]+" ");
}
}
}

回答4:

你看看行不行

回答5:

package test;
public class HelloAccp {
public static void main(String[] args) {
int[] array=new int[]{1,3,-1,5,-2};
int[] array1=new int[array.length];
for(int i=0;i {
array1[array1.length-i-1]=array[i]<0?0:array[i];
}
}
}