❶ [java]從char類型數組中取其中的一段用什麼方法來著
如果想轉換成String的話可以用String的構造函數String(char[] value, int offset, int count)
❷ java將byte數組中的中間一部分值取出來怎麼做啊
如果以這種方式存儲,那麼一定是定長字元串,byte[]是以位元組來存儲的,你直接取規則的長度就行了啊
如下:
byte[] b = new byte[10];
b[0]='a';
b[1]='b';
b[2]='c';
b[3]='d';
String a = new String(b,0,2);
用你的例子來說:比如你的標志是5位的,編號12位,日期20位,測量值10位
那麼應該是
String bz = new String(b,0,5);
String bh = new String(b,5,12);
...............
以此方式解析
❸ 急!JAVA中如何實現將數組的部分值賦給另一個數組
看了下樓主你的代碼,我感覺你沒有實現將重復數存入另一數組的功能,而且有的地方很不符合實際,比如if ((array[i]>0)&&(array[i]<=7)) 就限定了數組里的數必須是大於0小於等於7,相當於限定死了數組,一點都不具有通用性。我自己給你寫了下,基本上滿足了你的要求:
public class ArrayTest {
public static void main(String[] args) {
ArrayTest at = new ArrayTest();
int[] array = {1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5};
Integer[] arr = at.getArray(array);
for(int i=0,n=arr.length;i<n;i++){
System.out.print(arr[i].intValue()+" ");
}
}
//返回重復數和0
public Integer[] getArray(int[] array){
//存放重復的數和0
ArrayList<Integer> list = new ArrayList<Integer>();
//將List保存的數據存入Integer數組里
Integer[] temp = null;
for(int i=0,n=array.length;i<n-1;i++){
//第二個for循環用於檢查array[i]是否與之後的數相同,如果相同就存入list
for(int j=i+1;j<n;j++){
temp = new Integer[list.size()];
//如果數組當前位置array[i]的數為0並且list里沒有保存它時,將0存入list
if(array[i]==0&&!inArray(array[i],list.toArray(temp))){
list.add(array[i]);
}else{
if(array[i]==array[j]&&!inArray(array[i],list.toArray(temp))){
list.add(array[i]);
}
}
}
}
temp = new Integer[list.size()];
return list.toArray(temp);
}
//檢測指定的數是否之前已經被保存過
private boolean inArray(int i,Integer[] array){
if(array.length == 0||array == null){
return false;
}else{
for(int j=0,k=array.length;j<k;j++){
if(i == array[j].intValue()){
return true;
}
}
return false;
}
}
}
用你提供的數據可以輸出「4 5 0 6 7」,並且對任意整型數組都可以實現功能,這是完整的類,你可以復制到IDE里去測試一下。
❹ java數組。我是初學者,看視頻看到數組部分,為嘛完全看不懂呢。。求解釋,,
我覺得學習java之前如果你學習過C或者數據結構的話,再看起來會簡單的很多
好吧我給你這個程序加上注釋吧,格式是一行對應一行,你看準了,
//這個是一個java中靜態方法,要求傳入參數是一個整型的數組,得到的結果是一個整型的數據
//
//定義你將返回的整型變數,=arr[0],把數組的第一個元素賦值給max
//for循環,int x = 1 是指從第二個元素開始循環,條件中x<arr.length裡面的arr.length是獲取該數組的長度
//
//if語句的作用是如果數組中的這個元素arr[x](考循環X變化取出的數組元素)大於你數組的第一個元素(第一遍時是int max = arr[0],所以是第一個元素,第二遍就是賦值語句的作用,為上次循環裡面的arr[x]所取得值)的話,就將本次循環所取得數組元素賦值給max
//循環結束
//返回在循環遍歷數組所取得數組中的最大值
第二個方法的作用就是調用第一個方法,並列印返回值,在這里就不做詳盡的解釋了,其實你可以這樣理解數組:{1,2,3,4,5,6,7}java中這個數組有7個元素,這七個元素分別一個挨著一個的組成數組這種形式的數據結構,第一個元素對應的是arr[0],第二個對應的是arr[1]..........以此往後推,java中的數組可以調用的方法你可以閱讀API進行查看,.length只是獲取數組長度,還有排序啊什麼的,很多,在這里不一一解釋。
❺ 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; 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就可以了。
❻ 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(;i<a.length;i++){
b[j]=a[i];
System.out.print(b[j]);
j++;
}
❼ java 怎麼將一個數組拆分成兩個數組
importjava.util.Arrays;
publicclassTest{
publicstaticvoidmain(String[]args){
String[]str={"112","2321","3231","4443","5321"};
String[]sub1=Arrays.Of(str,3);
String[]sub2=Arrays.OfRange(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.ValueOf(IDNum);
System.out.println(IDNum_string.substring(6, 14));
}
}
(8)java數組一部分擴展閱讀:
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,會更快。
❾ JAVA集合框架的數組部分
總而言之,如果你要持有一組對象,首選,同時也是效率最高的選擇,應該是數組。而且,如果這是一組primitive的話,你也只能用數組。還有一些更為一般的情況,也就是寫程序的時候還不知道要用多少對象,或者要用一種更復雜方式來存儲對象情況。為此,Java提供了「容器類(container class)」。其基本類型有List,Set和Map。
它們還有一些別的特性。比方說Set所持有的對象,個個都不同,Map則是一個「關聯性數組(associative array)」,它能在兩個對象之間建立聯系。此外,與數組不同,它們還能自動調整大小,所以你可以往裡面放任意數量的對象。