【发布时间】:2021-04-19 08:00:46
【问题描述】:
public static void find( int[] numbers) {
int[] range = new int[5];
for(int i=0; i<numbers.length; i++)
{
if(numbers[i]>=10 && numbers[i] <= 20)
{
range[i]=range[i]+numbers[i];
}
}
}
我想编写一个方法,在一个数组中找到 10 到 20 之间的数字并将它们分配给另一个数组。 this is expected 这就是我得到的。
{ 0 0 0 } are between 10 - 20 我该如何解决这个问题?
public static void read( int[] numbers) {
Scanner input = new Scanner(System.in);
for( int i=0; i<numbers.length;i++)
{
System.out.print("Number["+i+"] => ");
numbers[i] = input.nextInt();
}
input.close();
}
这是从用户读取数字并分配给数组的 read() 方法。
public static void print( int[] numbers, int[]range) {
System.out.println("Number = { "+ numbers[0]+" "+numbers[1]+" "+numbers[2]+" "+numbers[3]+" "+numbers[4]+" }");
System.out.println("{ "+range[0]+" "+range[1]+" "+range[2]+" } "+" are between 10 - 20 ");
}
这是打印数字和范围数组的 print(x,y) 方法。
我的主要方法是:
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int[] numbers = new int[5];
read( numbers );
int[] range = new int[5];
find( numbers );
print(numbers, range);
numbers 数组必须包含 3 个 10-20 之间的数字。
【问题讨论】:
-
请不要将代码发布为图片。将它们作为代码与您的帖子一起发布。
-
不要对范围使用与数字相同的运行变量
-
如果你想让你的方法返回任何东西,它需要一个不同于
void的返回类型。您的方法目前根本不返回任何对象。所以我不确定你是如何运行它来获得你发布的输出的。 -
我还有 2 种方法。一个从 user 读取数组,另一个是写入数组和范围数组。
-
@crawlmontana 然后与我们分享这个