java中的数组使用不同的方法

时间:2014-11-30 23:26:55

标签: java arrays

我有3个不同的问题/要求。我已经尝试了所有这些,但我感到非常迷茫并且不确定我的代码有什么问题。我将首先包含要求,然后输入我的代码。任何帮助表示赞赏!

1.编写一个类/静态方法,该方法将一个双精度数组作为参数,并返回数组中所有元素的总和。

public static void mystery(int[] a);
 for (int i = 0; i < a.length - 1; i++);
    if (a[i] < a[i + 1]);
        a[i] = a[i + 1];
}

2.编写一个类/静态方法,该方法将int数组作为参数,并返回与参数长度相同的boolean类型的数组。对于值为奇数的参数数组中的每个元素,返回的数组应该具有其数组中相应元素的true值。同样,参数数组中的有价值元素也应该与返回数组中的相应假值匹配。

public class Practice
{
    public static void main(String[] args)
    {
        int[] myArray = {1, 2, 3, 4};
        array(myArray);
        for(int i = 0; i < myArray.length; i++)
            System.out.println(myArray[i]);
    } 
    public static void array(int[] a) {

        int n = a.length;
        int zero = a[0];
        a[0] = a[n-1];
        a[n-1] = zero;
    }
}

3.编写一个类/静态方法,该方法将一个字符串数组作为参数,并返回与原始数组长度相同的字符串数组。返回数组的每个元素中的字符串将与原始数组中的原始字符串相反。所以,如果s [1] =&#34;&#34;,那么r [1] =&#34; eht&#34;。

public class Homework6  {
public static void Main()  {
    Array myArray=Array.CreateInstance( typeof(String), 9 );
    myArray.SetValue( "The", 0 );
    myArray.SetValue( "green", 1 );
    myArray.SetValue( "bag", 2 );
    Console.WriteLine( "The Array initially contains the following values:" );
    PrintIndexAndValues( myArray );
    Array.Reverse( myArray );
    Console.WriteLine( "After reversing:" );
    PrintIndexAndValues( myArray );
}
public static void PrintIndexAndValues( Array myArray )  {
    for ( int i = myArray.GetLowerBound(0); i <= myArray.GetUpperBound(0); i++ )
        System.out.println( "\t[{0}]:\t{1}", i, myArray.GetValue( i ) );
}
}

1 个答案:

答案 0 :(得分:3)

好的,这显然是家庭作业,所以我只提供提示 - 整个观点是让你想出来的。这里有一些帮助: - )

  
      
  1. 编写一个类/静态方法,该方法将一个双精度数组作为参数,并返回数组中所有元素的总和。
  2.   

为此,您显示方法签名public static void mystery(int[] a)。以下是一些提示:

  1. 这会带一系列双打吗?
  2. 如果计算一堆双精度的总和,结果会是什么数据类型?例如mydouble1 + mydouble2 + mydouble3 == ????您的方法签名声称返回类型为void,但这不是我希望添加双打的数据类型,是吗?
  3. 您展示的代码是尝试将总和存储在数组中。看起来更有意义的是在名为sum的方法中创建一个新变量,将结果存储在这个新变量中,然后返回该变量
  4. 在您的编码体验中,尝试非常以避免在if语句之后添加分号。具体来说,这里的分号可能会导致很多问题,因此请将其删除:if (a[i] < a[i + 1]);
  5.   

    2.编写一个类/静态方法,该方法将int数组作为参数,并返回与参数长度相同的boolean类型的数组。

    您已经定义了一个方法public static void array(int[] a)来完成此任务。一些提示:

    1. 要求是返回一个布尔数组。您正在返回void。这是你在第一个问题中犯的同样错误 - 也许回顾一下java中方法签名的外观,特别是你如何定义返回值的类型
    2. 这里的代码并不是远程执行要求所要求的,看起来这是来自其他地方的剩余代码。首先找出布尔数组所需的返回类型,然后创建一个空的布尔数组,然后尝试弄清楚如何从你传递的整数数组中填充布尔数组
    3.   

      3.编写一个类/静态方法,该方法将一个字符串数组作为参数,并返回一个与原始数组长度相同的字符串数组。

      1. 好的,你肯定还不知道如何在java中定义一个字符串数组。 Google&#34; java string array&#34;并阅读第一个结果。首先尝试首先编写方法签名(例如只是public return_stuff my_method_name(input_stuff my_argument)),正确替换return_stuffinput_stuff java字符串数组
      2. 编辑:将其作为社区维基,以便其他人可以在OP更改其代码问题时进行更新。随意贡献,但试着记住OP显然正在解决这个问题的基础知识,他/她可能不需要理解编码约定,直到至少第2课: - )< / p>