JAVA—创建一个读取列表的方法

JAVA—创建一个读取列表的方法,java,arrays,list,methods,Java,Arrays,List,Methods,我提出了一系列方法,遇到了这部分问题: “在程序中测试您的方法,并包括一个将以-999结尾的列表读取到数组中的方法。” 我不知道在这方面该怎么做,希望有人能告诉我,并解释我如何做到这一点。这是我的密码: (注意:显示“4-终止方法”部分的注释为空。这就是我试图编写代码的地方) import java.util.Scanner; 公共类问题3{ //1-最大值法// 公共静态int max(int[]arr) { int tmpMax=arr[0]; 对于(int i=1;itmpMax) { t

我提出了一系列方法,遇到了这部分问题:

“在程序中测试您的方法,并包括一个将以-999结尾的列表读取到数组中的方法。”

我不知道在这方面该怎么做,希望有人能告诉我,并解释我如何做到这一点。这是我的密码:

(注意:显示“4-终止方法”部分的注释为空。这就是我试图编写代码的地方)

import java.util.Scanner;
公共类问题3{
//1-最大值法//
公共静态int max(int[]arr)
{
int tmpMax=arr[0];
对于(int i=1;itmpMax)
{
tmpMax=arr[i];
}
}
返回tmpMax;
}
//2-最小值法//
公共静态整数最小值(整数[]arr)
{
int-tmpMin=arr[0];
对于(int i=1;i
编辑#1:

已经快24小时了,所以我会给你一些关于“包含一个读取列表的方法…”要求的更多提示

您希望使用在用户输入值-999时结束的循环。还需要考虑的是将值读入数组,这样就意味着每次都必须通过循环调整数组的大小。 所以你的逻辑是这样的:

  • System.in
    中获取第一个整数,并将其存储在变量中
  • 初始化数组以保存输入值,初始长度为0
  • 开始循环,直到#1中的变量等于-999

    a) 从#2调整数组大小

    b) 将整数添加到调整大小的数组中

    b) 从
    系统中读取下一个整数,并将其存储在与#1相同的变量中

  • 结束编辑#1

    我不想过早地付出太多——看吧。因此,请参阅我关于“包含读取列表的方法…”要求的评论

    我将给你一个如何在“程序”中测试代码的简短示例:


    如果你真的有雄心壮志,你可以学习和/或其他测试框架(如)

    现在还不完全清楚要求是什么,但我猜它希望你重复读取
    系统中的数据。在
    中,将读取的每个整数值放入一个数组,直到遇到值-999为止。我还想,-999不应该放在数组中,因为它是终止符。至于“在程序中测试您的方法”,它只是意味着您应该编写一些调用其他代码的代码,并验证它是否正常工作。例如,您可能有一个方法
    testMin
    ,该方法调用
    min
    ,并根据您的期望检查其输出?要检查输入的数字是否遇到-999?好的,您可以使用
    if
    语句,但是您应该考虑应该使用哪个编程控制结构来重复一段代码,直到满足条件为止。如果您仍然有问题,请参阅我昨天编写的答案的更新。
    import java.util.Scanner;
    public class Problem3 {
        //1-MAXIMUM METHOD//
        public static int max(int[] arr)
        {
            int tmpMax = arr[0];
                for(int i = 1; i < arr.length; i++)
                {
                    if(arr[i] > tmpMax)
                    {
                        tmpMax = arr[i];
                    }
                }
                return tmpMax;
        }
        //2-MINIMUM METHOD//
        public static int min(int[] arr)
        {
            int tmpMin = arr[0];
                for(int i = 1; i < arr.length; i++)
                {
                    if(arr[i] < tmpMin)
                    {
                        tmpMin = arr[i];
                    }
                }
                return tmpMin;
        }
        //3-MIN-MAX METHOD//
        public static int[] maxMin(int[] arr)
        {
            int[] myArray = new int [2];
            myArray[0] = min(arr);
            myArray[1] = max(arr);
            return myArray;
        }
        //4-TERMINATION METHOD//
        public static int termination(int[] arr)
        {
    
        }
        //5-MAIN-METHOD//
        public static void main(String[] args) 
        {
            Scanner input = new Scanner(System.in);
            int a, b, c, d, e;
            System.out.println("Input the Numbers: ");
            a = input.nextInt();
            b = input.nextInt();
            c = input.nextInt();
            d = input.nextInt();
            e = input.nextInt();
            int[] test = {a, b, c, d, e};
            System.out.println("The Maximum Number is: " + min(test));
            System.out.println("The Minimum Number is: " + max(test));
            int [] x = maxMin(test);
            System.out.println("Min: " + x[0]);
            System.out.println("Max: " + x[1]);
        }
    }
    
    public class TestProblem3{
        public static void main(String[] args){
            testMin();
        }
    
        public static void testMin(){
             int[] data = {1,2,3,4,5};
             int minValue = Problem3.min(data);
             if( minValue != 1 )
                 System.err.println("FAILURE expected 1, but actual value is "+minValue);
    
             data = new int[]{-1,2,3,4,5};
             minValue = Problem3.min(data);
             if( minValue != -1 )
                 System.err.println("FAILURE expected -1, but actual value is "+minValue);
    
             //More tests here!
        }
    
        //More test methods here!
    }