【发布时间】:2017-03-27 18:17:55
【问题描述】:
我是 Java 新手,坚持以下任务。我们正在使用数组,并且应该根据我们的输入创建一个长度为的数组。不允许使用除main() 之外的其他方法。
然后输入数组会随机选择 0-999 之间的整数放入数组中,然后我们应该创建一个新的数组,其数字和长度相同,但先以偶数排序,然后再以奇数排序。
例子:
How many variables do you want? 4
Here are the random variables: 4 7 8 1
Here are the sorted variables: 4 8 7 1
Of your chosen variables 2 are even and 2 are odd
到目前为止,我的代码是这样的。
public static void main(String[] args)
{
int checker;
int even = 0;
int odd = 0;
Scanner s = new Scanner(System.in);
System.out.print("How many variables between 0-999 you want?: ");
int n = s.nextInt();
int arr[] = new int[n];
int ord[] = new int[n];
for(int i = 0; i < n; i++)
{
arr[i] = (int) (Math.random() * 100) + 1;
}
System.out.print("Here are your random numbers: ");
for(int i : arr)
{
System.out.print(i + " ");
}
for(int i = 0; i < n - 1; i++)
{
checker = arr[i] % 2;
if(checker == 0)
{
even = even + 1;
}
else
{
odd = odd + 1;
}
}
System.out.print("Of the chosen numbers" + even + "is even and" + odd + "is odd");
}
【问题讨论】:
-
我认为你应该具体说出你遇到的问题,并且至少尝试一下排序算法。
-
您遇到问题了吗?你的问题在哪里?如果你能帮助缩小问题的范围,它会更顺利
-
顺便说一句,您可以将人民币与 01 按位与来检查变量是否为奇数。
-
@TheBlueCat,你为什么要这么做?恕我直言
arr[i] % 2 == 0阅读起来更清晰(并且同样有效,但这并不重要)。