Java 将数组乘以2
在最后一个方法computeTwice中,我尝试将输入的数组乘以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[
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
}