Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何创建一个接受数组“quot;“范围”;对象并初始化列表,列表初始化为ArrayList_Java_Arrays_Arraylist_Constructor - Fatal编程技术网

Java 如何创建一个接受数组“quot;“范围”;对象并初始化列表,列表初始化为ArrayList

Java 如何创建一个接受数组“quot;“范围”;对象并初始化列表,列表初始化为ArrayList,java,arrays,arraylist,constructor,Java,Arrays,Arraylist,Constructor,我在创建接受范围对象数组并初始化列表的构造函数时遇到问题–列表应初始化为范围的ArrayList。这是我迄今为止从我的类中得到的代码。我试图创建的这个构造函数方法属于multiplegroup方法。我在stackoverflow中搜索过类似的问题,但运气不好。感谢您的帮助 public interface NumberGroup { boolean contains(int value); } import java.util.Scanner public class Range imp

我在创建接受范围对象数组并初始化列表的构造函数时遇到问题–列表应初始化为范围的ArrayList。这是我迄今为止从我的类中得到的代码。我试图创建的这个构造函数方法属于multiplegroup方法。我在stackoverflow中搜索过类似的问题,但运气不好。感谢您的帮助

public interface NumberGroup
{
  boolean contains(int value);
}


import java.util.Scanner
public class Range implements NumberGroup
{
  private int minValue, maxValue;

  public Range(int minValue, int maxValue)
  {
    this.minValue = minValue;
    this.maxValue = maxValue;
  }

  public boolean contains(int value)
  {
    return minValue <= value && value <= maxValue;
  }
}

import java.util.List
import java.util.ArrayList
public class MultipleGroups implements NumberGroup
{
private List<NumberGroup> groupList;

//problem area here.
public MultipleGroups(){

}

public boolean contains(int num)
{
  for(NumberGroup group : groupList)
    if(group.contains(num))
      return true;

  return false;
}

the test class tests the constructor with the following:
Range [] myRanges = new Range[3];
myRanges[0] = new Range(5,8);
myRanges[1] = new Range(10,12);
myRanges[2] new Range(1, 6);
group = new MultipleGroups(myRanges);
公共接口编号组
{
布尔包含(int值);
}
导入java.util.Scanner
公共类范围实现NumberGroup
{
私有int minValue,maxValue;
公共范围(int最小值,int最大值)
{
this.minValue=minValue;
this.maxValue=maxValue;
}
公共布尔包含(int值)
{

return minValue以下内容似乎满足您的要求:

public MultipleGroups(Range[] ranges){
  this.groupList = Arrays.asList(ranges);
}

有一些事情你可以考虑去做,而不是仅仅用它来做:

您可能希望允许varargs调用(即不必在调用站点显式创建数组):

您可能希望复制该列表,以避免调用方在调用构造函数后对数组进行恶意操作:

  this.groupList = new ArrayList<>(Arrays.asList(ranges));
this.groupList=newarraylist(Arrays.asList(ranges));

以下各项似乎满足了您的要求:

public MultipleGroups(Range[] ranges){
  this.groupList = Arrays.asList(ranges);
}

有一些事情你可以考虑去做,而不是仅仅用它来做:

您可能希望允许varargs调用(即不必在调用站点显式创建数组):

您可能希望复制该列表,以避免调用方在调用构造函数后对数组进行恶意操作:

  this.groupList = new ArrayList<>(Arrays.asList(ranges));
this.groupList=newarraylist(Arrays.asList(ranges));

谢谢你,通过了我的测试课程。构造器的说明措辞让我困惑:“一个接受范围对象数组并初始化列表的构造器–列表应该初始化为范围的ArrayList”我正在尝试分解这些指令,以便更好地理解它们以及您是如何理解它们的。因此,构造函数需要一个名为Ranges的数组参数,然后列表将转换为arrayList?我对所有这些都相当陌生。谢谢,这通过了我的测试课程。构造函数的指令措辞让我感到困惑:“接受范围对象数组并初始化列表的构造函数–列表应初始化为范围的ArrayList“我正在尝试分解这些指令,以便更好地理解它们以及您是如何理解它们的。因此,构造函数需要一个名为Ranges的数组参数,然后列表将转换为arrayList?我对所有这些都相当陌生。