「java数组裁剪」java怎么定义整形数组
今天给各位分享java数组裁剪的知识,其中也会对java怎么定义整形数组进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、Java怎么截取字符数组的一部分
- 2、java 怎么将一个数组拆分成两个数组
- 3、java中怎么从一个数组中截取一定长度的元素放到新数组中
- 4、Java分割数组成子数组
- 5、JAVA中如何截取数组中的一段,例如:[0,0,0,0,2,3,4,5,0,0]
Java怎么截取字符数组的一部分
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; iafArray.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 || ij){
return s.toString().toCharArray();
}
for(int x=i; x=j; x++){
s.append(a[x]);
}
return s.toString().trim().toCharArray();
}
}
getCharByMethod这个函数就是你要的吧!你在控制台输入一串String就可以了。
java 怎么将一个数组拆分成两个数组
import java.util.Arrays;
public class Test {
public static void main(String[] args) {
String[] str = { "112", "2321", "3231", "4443", "5321" };
String[] sub1 = Arrays.copyOf(str, 3);
String[] sub2 = Arrays.copyOfRange(str, 3, str.length);
System.out.println(Arrays.deepToString(sub1));
System.out.println(Arrays.deepToString(sub2));
}
}
运行结果
java中怎么从一个数组中截取一定长度的元素放到新数组中
可以利用substring(int beginIndex, int endIndex)函数截取固定长度片段。
具体示例代码如下:
public class woo {
public static void main(String args[])
{
//ID为430423198211231441,截取[19821123]
char IDNum[] = {'4','3','0','4','2','3','1','9','8','2','1','1','2','3','1','4','4','1'};
String IDNum_string = String.copyValueOf(IDNum);
System.out.println(IDNum_string.substring(6, 14));
}
}
扩展资料:
1、String类的不可变性:
这个不可变性需要看源码,String类中有几个成员变量:
private final char[] value;//存放String的值
private final int offset;
private final int count;
他们都是final类型的,当你创建一个String之后它们就无法改变,所以这个不可变指的是String的值value不可变。
2、用String的时候需要注意什么?
由于String的不可变性所以应该避免创建大量的String对象,应为大量final类型的String对象会暂用大量的内存,内存可是很宝贵的。
3、String与StringBuilder的区别:
StringBuilder进行字符串的连接等操作时不会创建新的字符串对象,所以在操作字符串的时候推荐把一个String转换为StringBuilder再进行操作,这样可以节省内存。
4、StringBuilder和StringBuffer的区别:
它俩的区别就是StringBuffer是线程安全的,它的方法都加了锁,多在多线程中使用,在单线程中建议使用StringBuilder,会更快。
参考资料:
百度百科——substring函数
Java分割数组成子数组
import java.util.ArrayList;
import java.util.List;
public class ABC {
public static void main(String[] args) {
int[] ary = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18};//要分割的数组
int splitSize = 5;//分割的块大小
Object[] subAry = splitAry(ary, splitSize);//分割后的子块数组
for(Object obj: subAry){//打印输出结果
int[] aryItem = (int[]) obj;
for(int i = 0; i aryItem.length; i++){
System.out.print(aryItem[i] + ", ");
}
System.out.println();
}
}
private static Object[] splitAry(int[] ary, int subSize) {
int count = ary.length % subSize == 0 ? ary.length / subSize: ary.length / subSize + 1;
ListListInteger subAryList = new ArrayListListInteger();
for (int i = 0; i count; i++) {
int index = i * subSize;
ListInteger list = new ArrayListInteger();
int j = 0;
while (j subSize index ary.length) {
list.add(ary[index++]);
j++;
}
subAryList.add(list);
}
Object[] subAry = new Object[subAryList.size()];
for(int i = 0; i subAryList.size(); i++){
ListInteger subList = subAryList.get(i);
int[] subAryItem = new int[subList.size()];
for(int j = 0; j subList.size(); j++){
subAryItem[j] = subList.get(j).intValue();
}
subAry[i] = subAryItem;
}
return subAry;
}
}
------------------
0, 1, 2, 3, 4,
5, 6, 7, 8, 9,
10, 11, 12, 13, 14,
15, 16, 17, 18,
JAVA中如何截取数组中的一段,例如:[0,0,0,0,2,3,4,5,0,0]
int a[]={0,0,0,1,2,3,0,0};
int i=0;
while(a[i]==0){ //找到最后一个0
i++;
}
System.out.println(i);
int j=0;
int b[]= new int[a.length-i]; //用来储存新数组
for(;ia.length;i++){
b[j]=a[i];
System.out.print(b[j]);
j++;
}
关于java数组裁剪和java怎么定义整形数组的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。