Java 反向字符串数组w/方法
我需要使用一个静态方法,从另一个字符串数组中反向返回一个字符串数组。因此,如果形式参数中的数组等于“hello”,“there”,则返回值必须为“olleh”,“ereht” 我的想法是使用charAt命令,但它似乎不适用于数组。我不能使用内置的方法一步解决这个问题。我也不知道如何转到数组中的下一个元素。这是我的密码 设置原始阵列的主要方法的一部分: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
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代码吗。AFAIKindex=(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)