Java 阵列参数问题
我被卡住了。。。。。我一直在尝试在方法中使用数组来计算1-100范围内可被10整除的数。 这是我的密码:Java 阵列参数问题,java,Java,我被卡住了。。。。。我一直在尝试在方法中使用数组来计算1-100范围内可被10整除的数。 这是我的密码: import java.util.Scanner; import java.util.Random; public class Journal5a { // METHOD public int[] creatArray (int size) { int[] array = new int[size]; Random r = new Random(); for (in
import java.util.Scanner;
import java.util.Random;
public class Journal5a {
// METHOD
public int[] creatArray (int size)
{
int[] array = new int[size];
Random r = new Random();
for (int i = 0; i < array.length; i++)
array[i] = r.nextInt(100);
return array;
}
public int[] DivByTen()
{
int x = 0;
int y[] = this.creatArray(1);
for (int i = 0; i < y.length; i++)
if (y[i] % 10 == 0)
{
x++;
}
return x;
}
public int[] printArray ()
{
int[] myArray = this.creatArray(1);
for (int i = 0; i<myArray.length; i++)
System.out.println(myArray[i]);
return myArray;
}
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
Journal5a j5a = new Journal5a();
j5a.DivByTen();
}
另一个问题是没有返回DivByTen方法中使用的x。您的createArray()方法使用0-99之间的随机数填充数组,因此不清楚有多少数字可以除以10
for(int i = 0; i < size; i++) {
array[i] = i;
}
for(int i=0;i
将创建一个值从0到大小-1的数组
第二个问题是返回类型是int[]而不是int首先,创建并填充数组。对于从
1
到100
的范围,您需要传入100
,然后在1
处从i
开始(或者在初始化数组时将1
添加到i
)
最后,调用上述方法并输出结果
public static void main(String[] args) {
final int multiple = 10;
int count = countMultiples(creatArray(100), multiple);
System.out.printf("There are %d numbers divisible by %d.", count, multiple);
}
输出为
There are 10 numbers divisible by 10.
为什么要随机填充数组来解决问题?
DivByTen
返回一个int
,而它的类型是int[]
@ElliottFrisch。这是学校的问题。我是编程新手。另外,我试图得到一个1-100的范围。我已经修改了它,它仍然给我一个随机数。你给你的createArray方法一个1,所以你的数组的大小是1。传递100以获得大小为100的数组
private static int countMultiples(int[] arr, int multiple) {
int count = 0;
for (int val : arr) {
if (val != 0 && val % multiple == 0) {
count++;
}
}
return count;
}
public static void main(String[] args) {
final int multiple = 10;
int count = countMultiples(creatArray(100), multiple);
System.out.printf("There are %d numbers divisible by %d.", count, multiple);
}
There are 10 numbers divisible by 10.