【问题标题】:Curious why my main method won't print my Array好奇为什么我的主要方法不会打印我的数组
【发布时间】:2015-12-12 10:41:30
【问题描述】:

我正在处理算法分析任务,但在实现 main 方法时遇到了一些问题。这个想法是在 main 方法(在底部)中创建新数组,然后应用算法来查看它们如何影响数组中的数字。 fillArray() 方法在实例化我的新数组后声明,告诉它用随机整数填充mainArray,然后使用copyArray() 将其复制到nextArray。在此之后,我(想)使用toString 打印数组。我不知道我到底哪里出错了,但由于某种原因,当我期望看到两个相同的数组打印时,当我运行程序时,我什么也没得到。

虽然程序编译得很好,但 main 方法似乎不起作用。我还包括了fillArraycopyArray 方法,以防万一出现错误,尽管我没有看到它。

这是我的代码:

public class AnalysisAssignmentMod 
{

// fill the contents of the array passed as parameter at random
public static void fillArray(int array[])
{
    Random rnd = new Random();
    for(int i =0; i < array.length; i++)
    {
        array[i] = rnd.nextInt(Integer.MAX_VALUE);
    }    

}        

// returns a new array with a copy of each of the values from the array passed as parameter
public static int[] copyArray(int[] array)
{
    int array1[] = new int[array.length];
    for(int i = 0 ; i < array.length; i++)
    {
        array1[i] = array[i];
    }    
    return array1;
}      

public static void main(String[] args){
  int[] mainArray = new int[10];
  int[] nextArray = new int[10];
  fillArray(mainArray);
  nextArray = copyArray(mainArray);
  System.out.println(Arrays.toString(mainArray));
  System.out.println(Arrays.toString(nextArray));
}

}

【问题讨论】:

  • 在我看来他们按预期工作:ideone.com/x0h6ct
  • 您的代码工作正常在NetBeans这是i的输出得到:[2129662845,817272636,219817982,272537868,2094738368,434779771,748896846,810069389,578046546,547723730] [2129662845,817272636,219817982,272537868 , 2094738368, 434779771, 748896846, 810069389, 578046546, 547723730]
  • main 方法似乎不起作用。 好的,但是你怎么知道它不起作用?

标签: java arrays main


【解决方案1】:

使用 Eclipse,我创建了一个新项目,添加了您的类,包括导入 java.util.*;您遗漏了示例代码,然后运行了代码。控制台窗口显示以下输出:

[755337529, 1336068446, 1777237203, 780687210, 536376228, 310689627, 1554567944, 2039849273, 128854867, 1662084709] [755337529、1336068446、1777237203、780687210、536376228、310689627、1554567944、2039849273、128854867、1662084709]

【讨论】:

  • 这实际上也是我最终所做的,在 Eclipse 中运行它(我最初是在 jgrasp 中执行它并得到不稳定的结果)。现在我只是想弄清楚为什么当我只想在每个元素中包含 1-2 个整数时,我会得到包含 10 个元素且每个元素中有 10 个整数的数组。
  • 我怀疑这与在随机整数生成器中使用 MAX_VALUE 有关。非常感谢您尝试提供帮助!我仍在学习 java,我开始发现我需要找到一个可以始终使用的 IDE。在过去的几个学期里,我的教授们一直在改变他们对我的看法。我认为 Eclipse 是一个不错的选择,尽管我也听说过有关 NetBeans 的好消息。也许这将有助于防止将来出现类似的愚蠢错误。真的很抱歉浪费了你和其他人的时间。干杯
  • @TimTolbert 如果您正在寻找一个好的 IDE,我推荐 IntelliJ。工作非常轻松愉快!
【解决方案2】:

确保导入 java.util.Arrays;它应该可以工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多