java - 如何按照说明显示两个数组
问题描述
我正在为我的 Java 课程做这个作业,所以指令是:
“编写一个程序,在 1 到 100 范围内生成 100 个随机整数,并将它们存储在一个数组中。然后,该程序应调用一个类方法,该方法将偶数为 multiplesof4intoanarray 的数字提取并返回该数组。然后程序应调用另一种方法将不是 4 的偶数倍数的数字提取到一个单独的数组中并返回该数组。然后应该显示两个数组。
public class Assignment8
{
public static void main (String [] args)
{
int [] numbers = new int [100];
for (int i = 1; i < numbers.length; i++) {
numbers[i] = (int)(Math.random()*((100)+1))+1;
}
int EMO4N [] = evenMultiplesOf4(numbers);
System.out.println("The even multiples of four are: ");
for (int m = 8; m < EMO4N.length; m++) {
System.out.println(EMO4N [m] + " " );
}
int NEMO4N [] = nonEvenMultiplesOf4(numbers);
System.out.println("The numbers that are not even multiples of four are: ");
for (int k = 1; k < NEMO4N.length; k++) {
System.out.println(NEMO4N [k] + " ");
}
}
public static int [] evenMultiplesOf4(int [] numbers)
{
int EMO4 = 8;
for (int x : numbers) {
if (x % 4 == 0 & (x / 4) % 2 == 0) {
EMO4++;
}
}
int [] EMO4N = new int [EMO4];
int y = 8;
for (int m : numbers) {
if(y % 4 == 0 & (y / 4) % 2 == 0) {
EMO4N[y] = m;
y++;
}
}
return EMO4N;
}
public static int [] nonEvenMultiplesOf4( int [] numbers)
{
int NEMO4 = 1;
for (int j : numbers) {
if (j % 4 != 0 || (j / 4) % 2 != 0) {
NEMO4++;
}
}
int [] NEMO4N = new int [NEMO4];
int k = 1;
for (int n : numbers) {
if(k % 4 != 0 || (k / 4) % 2 != 0) {
NEMO4N[k] = n;
k++;
}
}
return NEMO4N;
}
}
显示的结果始终是 0 和其他一些随机数的组合。
解决方案
你有几个小的逻辑错误。
您从 开始
m
和y
结束8
,这没有意义,因为它们旨在跟踪您将插入的索引。您使用该表达式
if (x % 4 == 0 & (x / 4) % 2 == 0)
来确定该数字是否可以被四整除,但if(x % 4 == 0)
是否足够。在你的循环中:
for (int n : numbers) {
if(k % 4 != 0) {
NEMO4N[k] = n;
k++;
}
}
您正在检查是否k
可以被 4 整除,而您应该检查n
. 将其更改为:
for (int n : numbers) {
if(n % 4 != 0) {
NEMO4N[k] = n;
k++;
}
}
我不会提供工作代码,因为这似乎是一项家庭作业。
推荐阅读
- mysql - 使用选择的 SQL 连接查询
- reactjs - 为什么即使包装类呈现输入框,我的 React 输入框也不呈现延迟响应 - React with Redux
- android - 未安装 Flutter 插件;这增加了 Flutter 特定的功能。#Android Studio 未在 /path/to/android/studio 找到
- azure - Peek 消息不会返回所有消息
- java - Spring JPA HQL 枚举“in 子句”查询
- javascript - 等待所有 dom 更新完成
- python-3.x - 使用openpyxl检查它是否是工作簿的第一张最简单的方法是什么
- reactjs - React antd 4 Form in Modal resetFields 显示错误数据
- php - 带有 laravel 的 Paypal PHP SDK。在生产模式下加载配置端点时出现问题
- grafana - 存储聚合没有像我期望的那样组合