Java 返回2个给定整数(在main中指定)之间的值,该值在函数中可以被3除,并将答案返回给main方法

Java 返回2个给定整数(在main中指定)之间的值,该值在函数中可以被3除,并将答案返回给main方法,java,arrays,function,methods,return,Java,Arrays,Function,Methods,Return,问: 在main方法中获取开始和结束整数。将这两个值传递到一个单独的函数中。将这些值(包括)之间的所有数字(可被3整除)从函数返回到main。 我已完成以下工作: import java.util.*; public class inbetween { public static void main (String[]args) { Scanner in = new Scanner (System.in); System.out.println("Ente

问: 在main方法中获取开始和结束整数。将这两个值传递到一个单独的函数中。将这些值(包括)之间的所有数字(可被3整除)从函数返回到main。 我已完成以下工作:

import java.util.*;
public class inbetween {
    public static void main (String[]args) {
        Scanner in = new Scanner (System.in);
        System.out.println("Enter range of values");
        int x =in.nextInt();
        int y =in.nextInt();
        search(x,y);

    }

    public static void search(int a, int b) {
          int length = (b-a)+1;
        int [] arr = new int [length];
        for(int i=0; i<length; i++)
        {
          a = a+1;
         int c;
         // int count=0;
          c = a%3;
          if (c==0) {
              arr[i] = a;
          System.out.println(arr[i]);
       //   count = count+1;
       //   return count;

        }
        }
    }
}
import java.util.*;
中间的公共类{
公共静态void main(字符串[]args){
扫描仪输入=新扫描仪(系统输入);
System.out.println(“输入值范围”);
int x=in.nextInt();
int y=in.nextInt();
搜索(x,y);
}
公共静态无效搜索(int a、int b){
整数长度=(b-a)+1;
int[]arr=新的int[长度];
对于(int i=0;i
  • 在main中创建数组
  • 将对数组的引用传递给函数以执行工作
  • 在主窗口中打印阵列
  • 换成

    import java.util.*;
    public class inbetween {
    public static void main (String[]args) {
        Scanner in = new Scanner (System.in);
        System.out.println("Enter range of values");
        int x =in.nextInt();
        int y =in.nextInt();
        int[] result = search(x,y);
        for (int i=0;i < result.length; i++)
          System.out.println(result[i]);
    }
    
    public static int[] search(int a, int b) {
          int length = (b-a)+1;
        int [] arr = new int [length];
        for(int i=0; i<length; i++)
        {
          a = a+1;
         int c;
         // int count=0;
          c = a%3;
          if (c==0) {
              arr[i] = a;
                  }
        }
        return arr;
    }
    }
    
    import java.util.*;
    中间的公共类{
    公共静态void main(字符串[]args){
    扫描仪输入=新扫描仪(系统输入);
    System.out.println(“输入值范围”);
    int x=in.nextInt();
    int y=in.nextInt();
    int[]结果=搜索(x,y);
    for(int i=0;i对于(int i=0;i您需要将数组返回到main:

    package com.stackoverflow.homework;
    
    import java.util.Arrays;
    import java.util.Scanner;
    
    public class Homework {
    
        public static void main(String[] args) {
            int[] result;
            Scanner in = new Scanner(System.in);
    
            System.out.println("Enter range of values: ");
            int x = in.nextInt();
            int y = in.nextInt();
    
            result = findNumbersBetween(x,y);
    
            for(int i=0; i<result.length; i++) {
                System.out.println(result[i]);
            }
    
        }
    
        private static int[] findNumbersBetween(int a, int b) {
            int[] temp = new int[(b-a)+1];
            int x = a;
            int i = 0;
    
            while(x <= b) {
                if(x % 3 == 0) {
                    temp[i] = x;
                    i++;
                }
    
                x++;
            }
    
            return Arrays.copyOfRange(temp, 0, i);
        }
    }
    
    package com.stackoverflow.journey;
    导入java.util.array;
    导入java.util.Scanner;
    公共课作业{
    公共静态void main(字符串[]args){
    int[]结果;
    扫描仪输入=新扫描仪(系统输入);
    System.out.println(“输入值的范围:”);
    int x=in.nextInt();
    int y=in.nextInt();
    结果=在(x,y)之间找到的编号;
    
    对于(int i=0;这是一个非常基本的Java编程问题,可能并没有演示对StackOverflow问题所需语言的最低理解。听起来您的
    搜索
    方法需要将可除值存储在
    int[]
    (或集合)中,并将其返回。请尽量不要刻薄!这并不是故意刻薄。结束问题的一个正式原因是“要求代码的问题必须表明对正在解决的问题的最低理解。包括尝试的解决方案、为什么不起作用以及预期的结果。另请参阅:堆栈溢出问题检查表”。您的主要问题是“如何返回数组?”Java教程的封面可能回答了您的问题。谢谢!我还是一个初学者。如何删除零????@user2750830:检查我的答案,我在那里使用了
    Arrays.copyOfRange
    来消除零。