Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/341.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 如何使两个数组随机相等_Java_Arrays_Random_Boolean_Equals - Fatal编程技术网

Java 如何使两个数组随机相等

Java 如何使两个数组随机相等,java,arrays,random,boolean,equals,Java,Arrays,Random,Boolean,Equals,我的项目的最后一部分是让两个测试阵列,grades[]和grades2[]随机相等,以测试我的相等方法声明。如何正确使用java.util.Random?或者如果有其他方法,我很想听听 在这段代码中,程序将永远输出两个对象是不同的(显然),因为数组的内容是随机生成的。如何使它们随机相等 public class GradeBookClient { public static GradeBook classRoom1, classRoom2; public static void ma

我的项目的最后一部分是让两个测试阵列,grades[]grades2[]随机相等,以测试我的相等方法声明。如何正确使用java.util.Random?或者如果有其他方法,我很想听听

在这段代码中,程序将永远输出两个对象是不同的(显然),因为数组的内容是随机生成的。如何使它们随机相等

public class GradeBookClient
{
   public static GradeBook classRoom1, classRoom2;
   public static void main( String [] args )
   {  
     //Create two new arrays for testing the equals() method
     int[] grades = new int[100];
     int[] grades2 = new int[100]; 

     for ( int i = 0; i <= grades.length-1; i++ )
     {
         grades[i] = (int) Math.floor(Math.random()*101);
     }

     for ( int i = 0; i < grades2.length; i++ )
     {
         grades2[i] = (int) Math.floor(Math.random()*101);
     }



      classRoom1 = new GradeBook (grades);
      System.out.println( "The class size is " + classRoom1.getStudent() + " students." + "\n" + classRoom1.toString() ); 


      classRoom2 = new GradeBook (grades2);
      System.out.println( "The class size is " + classRoom2.getStudent() + " students." + "\n" + classRoom2.toString() );

      if ( classRoom1.equals( classRoom2 ))
      System.out.println("Classroom 1 has the same grades and class size as Classroom 2.");
      else
      System.out.println("Classroom 1 and Classroom 2 have different grades and class sizes.");
   }
}
公共类GradeBookClient
{
公共静态成绩册教室1、教室2;
公共静态void main(字符串[]args)
{  
//创建两个新数组以测试equals()方法
整数[]等级=新整数[100];
整数[]等级2=新整数[100];

对于(inti=0;i这是一个矛盾修饰法。如果它是随机的,你不能使它彼此相等


编辑:如果要创建两个随机填充的相同数组,则应使用随机数填充一个数组,然后使用
System.arraycopy()
或类似的方法复制该数组。

这是一种矛盾修饰法。如果是随机的,则不能使其彼此相等

编辑:如果要创建两个随机填充的相同数组,则应使用随机数填充数组,然后使用
System.arraycopy()
或类似的方法复制它

如何使它们随机相等

public class GradeBookClient
{
   public static GradeBook classRoom1, classRoom2;
   public static void main( String [] args )
   {  
     //Create two new arrays for testing the equals() method
     int[] grades = new int[100];
     int[] grades2 = new int[100]; 

     for ( int i = 0; i <= grades.length-1; i++ )
     {
         grades[i] = (int) Math.floor(Math.random()*101);
     }

     for ( int i = 0; i < grades2.length; i++ )
     {
         grades2[i] = (int) Math.floor(Math.random()*101);
     }



      classRoom1 = new GradeBook (grades);
      System.out.println( "The class size is " + classRoom1.getStudent() + " students." + "\n" + classRoom1.toString() ); 


      classRoom2 = new GradeBook (grades2);
      System.out.println( "The class size is " + classRoom2.getStudent() + " students." + "\n" + classRoom2.toString() );

      if ( classRoom1.equals( classRoom2 ))
      System.out.println("Classroom 1 has the same grades and class size as Classroom 2.");
      else
      System.out.println("Classroom 1 and Classroom 2 have different grades and class sizes.");
   }
}
您可以首先决定它们是否应该相等。如果应该相等,只需将
成绩
复制到
grades2
中,而不是独立于
成绩
生成
grades2

如何使它们随机相等

public class GradeBookClient
{
   public static GradeBook classRoom1, classRoom2;
   public static void main( String [] args )
   {  
     //Create two new arrays for testing the equals() method
     int[] grades = new int[100];
     int[] grades2 = new int[100]; 

     for ( int i = 0; i <= grades.length-1; i++ )
     {
         grades[i] = (int) Math.floor(Math.random()*101);
     }

     for ( int i = 0; i < grades2.length; i++ )
     {
         grades2[i] = (int) Math.floor(Math.random()*101);
     }



      classRoom1 = new GradeBook (grades);
      System.out.println( "The class size is " + classRoom1.getStudent() + " students." + "\n" + classRoom1.toString() ); 


      classRoom2 = new GradeBook (grades2);
      System.out.println( "The class size is " + classRoom2.getStudent() + " students." + "\n" + classRoom2.toString() );

      if ( classRoom1.equals( classRoom2 ))
      System.out.println("Classroom 1 has the same grades and class size as Classroom 2.");
      else
      System.out.println("Classroom 1 and Classroom 2 have different grades and class sizes.");
   }
}

您可以首先决定它们是否应该相等。如果应该相等,只需将
grades
复制到
grades2
中,而不是独立于
grades2
生成
grades2
,如果您想使两个数组的内容相等:

  • 将数字放入一个数组并复制到另一个数组
  • 否则生成具有相同种子的随机数
Random rand=new Random(种子);


如果
种子
相等,则
rand.nextInt()
将生成相同的数字序列。

如果要使两个数组的内容相等:

  • 将数字放入一个数组并复制到另一个数组
  • 否则生成具有相同种子的随机数
Random rand=new Random(种子);


如果您的
seed
相等,则
rand.nextInt()
将生成相同的数字序列。

使用
Random
创建第一个数组。然后,如果您决定它应该等于第二个数组,只需实例化一个相同类型和大小的新数组,并逐个复制每个位置。

使用
Random
创建第一个数组。然后,如果您决定它应该等于对于第二个数组,只需实例化一个相同类型和大小的新数组,然后逐个复制每个位置。

我不知道是否正确,因为它不太清楚,但也许你应该这样做:

//Create two new arrays for testing the equals() method
int[] grades = new int[100];
int[] grades2 = new int[100]; 

for ( int i = 0; i <= grades.length-1; i++ )
{
    int value = (int) Math.floor(Math.random()*101);
    grades[i] = value;
    grades2[i] = value;
}
//为测试equals()方法创建两个新数组
整数[]等级=新整数[100];
整数[]等级2=新整数[100];

对于(int i=0;i我不知道我是否正确,因为它不太清楚,但也许你应该这样做:

//Create two new arrays for testing the equals() method
int[] grades = new int[100];
int[] grades2 = new int[100]; 

for ( int i = 0; i <= grades.length-1; i++ )
{
    int value = (int) Math.floor(Math.random()*101);
    grades[i] = value;
    grades2[i] = value;
}
//为测试equals()方法创建两个新数组
整数[]等级=新整数[100];
整数[]等级2=新整数[100];

对于(int i=0;我正在与我的老师进行逻辑斗争。她在一封电子邮件中说:“你是对的,使用随机数据,它们不太可能是相同的。你可以创建两个相同的数组进行测试,尽管“制作一个数组,然后制作一个副本构成”创建两个相同的数组”.复制不是有点过火吗?他可以在同一个范围内构建两个阵列,以避免一次操作就做两个循环!@steptn真的没有相同的区别。一个循环每一步两个操作,或者两个循环每一步一个操作。我正在与我的老师进行逻辑斗争。她在电子邮件中说:“您是对的,使用随机数据,它们不太可能相同。您可以创建两个相同的数组进行测试,尽管“创建一个数组,然后创建一个副本”创建了两个相同的数组".复制不是有点过火吗?他可以在同一个范围内构建两个阵列,以避免只做一个操作就做两个循环!@steptn差别真的不一样。一个循环每步两个操作,或者两个循环每步一个操作。我向她建议了这一点,但她告诉我应该让两个阵列彼此相同。那是什么这意味着我无法理解,但我想我不会为此担心。现实生活中的两个班级无论如何都不可能有相同的成绩,这项作业没有逻辑。我向她提出了这个建议,但后来她告诉我,我应该让两个数组彼此相同。这意味着我无法理解,但我想我不会为此担心。现实生活中的两个班级不可能有相同的分数,这项作业没有逻辑。这不是创建两个相同的数组。这不是创建两个相同的数组。我只是放弃,我会接受让他们相等,这样它就会输出,我不知道我的老师想要什么。我只是放弃,我会接受让他们相等,这样它就会输出,我不知道我的老师想要什么。