Java 将数组乘以2

Java 将数组乘以2,java,arrays,Java,Arrays,在最后一个方法computeTwice中,我尝试将输入的数组乘以2,但不是这样做,而是将数组按最小到最大的顺序列出。有人能帮我解决这个问题吗 代码: import java.util.Scanner; import java.util.Arrays; public class Array { public static void main(String[] args) { Scanner console = new Scanner(System.in); int numbers[

在最后一个方法computeTwice中,我尝试将输入的数组乘以2,但不是这样做,而是将数组按最小到最大的顺序列出。有人能帮我解决这个问题吗

代码:

import java.util.Scanner;
import java.util.Arrays;
public class Array {
public static void main(String[] args) {
    Scanner console = new Scanner(System.in);
    int numbers[] = new int[10];
    for (int i = 0 ; i < numbers.length; i++ ) {
        System.out.println("Enter a number");
        numbers[i] = console.nextInt();
        }
    printReverse(numbers); 
    getLargest(numbers);
    computeTwice(numbers);
    }

public static void printReverse(int [] numbers) { 
  int [] revNumbers = new int[numbers.length];
  for(int i = numbers.length -1; i >= 0; i--){
    revNumbers[numbers.length - 1 -i] = numbers[i];
    }
    System.out.println("Here are you numbers in reverse: "+Arrays.toString(revNumbers));
    }

public static int getLargest(int [] numbers){ 
int max = 0; 
for(int i = 0; i < numbers.length; i++){ 
  if(numbers[i] > max) { 
    max = numbers[i];
    }
  }
    System.out.println("The highest number is: "+max); 
    Arrays.sort(numbers); 
    return max;
    }


public static int[] computeTwice(int[] numbers){
    for (int i = 0; i > numbers.length; i++){ 
        numbers[i] *= 2;
    }
    System.out.println("The array with two times the numbers: "+ Arrays.toString(numbers));

    }
}
import java.util.Scanner;
导入java.util.array;
公共类数组{
公共静态void main(字符串[]args){
扫描仪控制台=新扫描仪(System.in);
整数[]=新整数[10];
for(int i=0;i=0;i--){
revNumbers[numbers.length-1-i]=编号[i];
}
System.out.println(“这是相反的数字:“+Arrays.toString(revNumbers));
}
公共静态int getmax(int[]个数){
int max=0;
对于(int i=0;imax){
max=数字[i];
}
}
System.out.println(“最大值为:“+max”);
数组。排序(数字);
返回最大值;
}
公共静态int[]计算(int[]数字){
对于(int i=0;i>numbers.length;i++){
数字[i]*=2;
}
System.out.println(“两倍于数字的数组:“+Arrays.toString(数字));
}
}
公共静态无效计算(int[]数字){
对于(int i=0;i
下次放置堆栈跟踪,因为有错误

public static int[] computeTwice(int[] numbers){
    for (int i = 0; i > numbers.length; i++){ 
        numbers[i] *= 2;
    }
    System.out.println("The array with two times the numbers: "+ Arrays.toString(numbers));
    }
}
我,你要瞄准的数组的索引,怎么可能大于长度呢?也许你的意思是

    for (int i = 0; i < numbers.length; i++){ 
for(inti=0;i
for循环中有一个小错误。请查看您的条件。您正确地初始化了它(i=0),正确地增加了它(i++),但您的条件不正确(i>numbers.length)。您需要将其更改为 (i<数字长度)

另外,当您使用值类型创建方法时,您需要返回该数据类型,否则将使用“void”创建方法头

由于您使用int[]值类型创建了方法,因此需要返回int[],如下所示:

    public static int[] computeTwice(int[] numbers) {

    for(int i = 0; i < numbers.length; i++) { //note the condition change
        numbers[i] = numbers[i] * 2;
    }
    System.out.println("The array with two times the numbers: " + Arrays.toString(numbers));
    return numbers; //note the change by adding a return statement
}
publicstaticint[]computeTwice(int[]number){
对于(inti=0;i

}

谢谢这使它变得完美
    public static int[] computeTwice(int[] numbers) {

    for(int i = 0; i < numbers.length; i++) { //note the condition change
        numbers[i] = numbers[i] * 2;
    }
    System.out.println("The array with two times the numbers: " + Arrays.toString(numbers));
    return numbers; //note the change by adding a return statement
}