Java怎么截取字符数组的一部分

要有起始点和终点,将结果返回给一个字符数组
void char[](char ch[],int i,int j);
最新回答
蔓草离离

2024-11-23 12:00:52

Java已经提供了实现类似功能的函数,你是要自己实现吗?
刚得空帮你写了一下,程序如下:
import java.util.Scanner;
public class CharTest {
public static void main(String[] args){

Scanner cin = new Scanner(System.in);
if(cin.hasNext()){
String line = cin.next();
char[] cArray = line.toCharArray();
char[] afArray = getCharByMethod(cArray,2,5);
for(int i=0; i<afArray.length; i++){
System.out.println(afArray[i]);
}
}
}
private static char[] getCharByMethod(char[] a, int i, int j){
int N = a.length;
StringBuffer s = new StringBuffer(" ");
if(i>=N || j>=N || i>j){
return s.toString().toCharArray();
}
for(int x=i; x<=j; x++){
s.append(a[x]);
}
return s.toString().trim().toCharArray();

}
}
getCharByMethod这个函数就是你要的吧!你在控制台输入一串String就可以了。
什么长发及腰不如短发凉

2024-11-23 09:58:35

直接用System.arrayCopy(Object src,int srcPos, Object dest, int destPos,int length)

src - 源数组。
srcPos - 源数组中的起始位置。
dest - 目标数组。
destPos - 目标数据中的起始位置。
length - 要复制的数组元素的数量。
南风草木香

2024-11-23 10:35:41

如果用现成的方法

可以直接
return Arrays.copyOfRange(ch, i, j);

如果想自己实现,办法很多,关键要考虑执行的效率
wujiazhao1988 - 千总 五级 的方法就可行
江心雾

2024-11-23 13:42:07

将char[]转为string,然后用string的substring一下子搞定,这题是考你会不会变通而已。。
subString(int startIndex,int lengh);
地球另一端的梦

2024-11-23 11:12:42

截取代码如下:
public static void main(String[] args) {
String str="/aa/rver/ta/client";
String a[]=str.split("rver/");
String cutstr=a[1];
System.out.println(cutstr);//即cutstr就是ta/client;就是截取后的结果;
}