我想要反转用户输入的10个不同的数字。例如,如果用户放置' 34 82 49 102 7 94 23 11 50 31'对于输入,结果应为< 31 50 11 23 94 7 102 49 82 34'但是我一直得到0 0 0 0 0 0 0 0 0 0的结果,我甚至没有从扫描仪获得输入框。添加了图片以获取更多细节。
import java.util.*;
public class ReverseNumbersFor
{
public static void main(String[] args)
{
int [] reverseNumbersWhile = new int [10];
printReverse(reverseNumbersWhile);
}
public void reverseNumbersWhile(int num[])
{
System.out.println("Enter 10 numbers : ");
Scanner in = new Scanner(System.in);
int [] input = num;
for (int i = 0; i < input.length; i++)
{
input [i] = in.nextInt();
}
System.out.println(input);
}
public static void printReverse(int [] value)
{
for (int i = value.length - 1; i >=0; i--)
{
System.out.print(value[i] + " ");
}
}
}
答案 0 :(得分:0)
您没有调用reverseNumbersWhile方法。您正在初始化一个名为reverseNumbersWhile的数组,然后将其传递给一个只打印其值的方法,这些方法只是初始化为零。
答案 1 :(得分:0)
按如下方式更改您的代码
from heapq import _siftup, _siftdown, heapify
from random import random, randrange, choice
def is_minheap(arr):
return all(arr[i] >= arr[(i-1)//2] for i in range(1, len(arr)))
n = 40
trials = 1_000_000
for _ in range(trials):
# Create a random heap
data = [random() for i in range(n)]
heapify(data)
# Randomly alter a heap element
i = randrange(n)
x0 = data[i]
x1 = data[i] = choice(data)
# Restore the heap
if x1 > x0: # value is increased
_siftup(data, i)
elif x1 < x0: # value is decreased
_siftdown(data, 0, i)
# Verify the results
assert is_minheap(data), direction
答案 2 :(得分:0)
其他答案已经指出了你的代码有什么问题。这是使用Java 8 IntStream
-
public static int[] reverse(int[] a) {
return IntStream.range(0, a.length).map(i -> a[a.length - 1 - i]).toArray();
}