Java 反向字符串数组w/方法

Java 反向字符串数组w/方法,java,arrays,string,methods,reverse,Java,Arrays,String,Methods,Reverse,我需要使用一个静态方法,从另一个字符串数组中反向返回一个字符串数组。因此,如果形式参数中的数组等于“hello”,“there”,则返回值必须为“olleh”,“ereht” 我的想法是使用charAt命令,但它似乎不适用于数组。我不能使用内置的方法一步解决这个问题。我也不知道如何转到数组中的下一个元素。这是我的密码 设置原始阵列的主要方法的一部分: String [] d = {"hey","hello"}; System.out.println(Arrays.toString

我需要使用一个静态方法,从另一个字符串数组中反向返回一个字符串数组。因此,如果形式参数中的数组等于“hello”,“there”,则返回值必须为“olleh”,“ereht”

我的想法是使用charAt命令,但它似乎不适用于数组。我不能使用内置的方法一步解决这个问题。我也不知道如何转到数组中的下一个元素。这是我的密码

设置原始阵列的主要方法的一部分:

    String [] d = {"hey","hello"};
    System.out.println(Arrays.toString(count(d)));
我的方法:

    private static String [] count(String[] d)
{
    String[] reverse = new String [d.length];
    int l = d.length;
    for(int i = l -1; i >= 0; i--)
    {
        reverse = reverse + d.charAt(i);

    }
    return reverse;
}

查看我使用PHP创建的这段代码,它非常简单:

// the array you want to reverse
$array = [13, 4, 5, 6, 40];
// get the size of the array
$arrayLength = count($array);
// get the index of the middle of the array
$index = intval($arrayLength / 2); 
for ($i=0; $i < $index; $i++) {
    // we store the value in a temp variable
    $tmp = $array[$i];
    // and finaly we switch values
    $array[$i] = $array[$arrayLength - $i - 1];
    $array[$arrayLength - $i - 1] = $tmp;
}
//要反转的数组
$array=[13,4,5,6,40];
//获取数组的大小
$arrayLength=计数($array);
//获取数组中间的索引
$index=intval($arrayLength/2);
对于($i=0;$i<$index;$i++){
//我们将该值存储在一个临时变量中
$tmp=$array[$i];
//最后我们交换值
$array[$i]=$array[$arrayLength-$i-1];
$array[$arrayLength-$i-1]=$tmp;
}

因此您希望反转数组中的每个字符串

这里有一种反转单个字符串的方法:

private static String reverseString(String s) {
    char[] orig = s.toCharArray();
    char[] reverse = new char[orig.length];
    for (int i = 0; i < orig.length; i++) {    
        reverse[i] = orig[orig.length - i - 1];
    }
    return new String(reverse);
}
私有静态字符串反向限制(字符串s){
char[]orig=s.toCharArray();
字符[]反向=新字符[原始长度];
对于(int i=0;i
借助上述方法,您可以创建反转字符串数组,如下所示:

private static String[] reverseMany(String[] strings) {
    String[] result = new String[strings.length];
    for (int j = 0; j < strings.length; ++j) {
        result[j] = reverseString(strings[j]);
    }
    return result;
}
private static String[]reverseemany(String[]strings){
字符串[]结果=新字符串[strings.length];
对于(int j=0;j
可用于反转字符串

以下代码将反转给定数组中的所有字符串:

private static String [] count(String[] d)
{
    String[] reverse = new String [d.length];
    for(int i = 0; i < d.length; i++)
    {
        reverse[i] = new StringBuilder(d[i]).reverse().toString();
    }
    return reverse;
}    
要在android中使用此库,请编译“org.apache.commons:commons-lang3:3.5”

使用[Commons.Lang][1],您只需使用

ArrayUtils.reverse(int[] array)

这显示了Int数组的部分方式。我不知道如何对字符串数组执行此操作。请尝试此操作…我不确定我是否能够遵循该代码。我假设$character表示一个变量。话虽如此,我不知道intval是什么以及它在java中的类似方法。是的,
$
名称用于变量,
intval
的等价物只是对int的转换,可以使用
(int)a/b
来实现,所以在java中:
索引=(a/b)
和PHP应该是:
$index=invtal(a/b)
@frillybob nop,实际上,如果数组的长度是odd,那么只需要index=
(int)(a/b)
就可以得到数字的整数部分,您指的是Java或PHP代码吗。AFAIK
index=(int)(a/b)
不是有效的java语法。我还将其转换为java,但我得到了字符串数组
string[]a={“13”、“4”、“5”、“6”、“40}的输出
[40,6,5,40]
澄清:我需要将实际元素保持在相同的位置。我需要反转元素的内容并返回它。有没有一种方法可以做到这一点?我不相信我的指示会允许我这样做。我知道在Matlab中有一个函数。Java中是否有类似的东西可以做到这一点?@frillybob有一些方法可以做到这一点,但是一个理智的程序员不会这么做:@janos@Tom我还有一个关于第一个方法的问题。
reverseString(字符串s)
如何工作?我没有看到任何地方声明字符串s。我想我不明白为什么
result[j]=reverseString(d[j])
传递给
private static String reverstering(String s)
@friellybob String s在method参数列表中声明。我不明白你的第二个问题
ArrayUtils.reverse(int[] array)