⑴ java 中 String 數組怎麼動態賦值
首先明確一下數組的初始化:
//靜態初始化
inta[]={1,2,3};
//動態初始化
inta[];a=newint[3];a[0]=1;a[1]=2;a[2]=3;
//默認初始化
inta[]=newint[5];
JAVA是強類型,數組類型一旦聲明,就不能更改了;
如果數組長度確定,我想所謂的「動態賦值」用循環應該可以搞定;
如果數組的長度是不確定的,我認為你這個提問才有點價值,因為這需要根據具體情況來改變數組的長度,告訴你java是怎麼乾的,用的System.array,jdk里好多操作數組的源碼都是用的這個,比如ArrayList的實現
閑著沒事寫了個小例子玩玩:
importjava.util.Random;
importjava.util.Scanner;
/**
*
*@authorLYTG
*@since2015-12-29上午12:21:09
*/
publicclassDemoTest{
/**
*@authorLYTG
*@paramargs
*/
publicstaticvoidmain(String[]args){
test2();
}
/**
*@authorLYTG
*@paramarray
*/
publicstaticvoidout(String[]array){
if(array==null){
System.out.println("null");
return;
}
if(array.length<1){
System.out.println("{}");
return;
}
StringBuffersb=newStringBuffer();
sb.append("{"");
sb.append(array[0]);
sb.append(""");
for(inti=1;i<array.length;i++){
sb.append(","");
sb.append(array[i]);
sb.append(""");
}
sb.append("}");
System.out.println(sb.toString());
}
/**
*聲明一個長度為5的String類型數組,並為每個數組元素賦值一個隨機整數
*@authorLYTG
*/
publicstaticvoidtest1(){
String[]array=newString[5];
for(inti=0;i<array.length;i++){
array[i]=String.valueOf(newRandom().nextInt());
}
out(array);
}
/**
*在控制台輸入字元,把每次輸入的字元保存到一個數組中,
*如果輸入的字元串中包含空格,則切割後再分別保存到此數組中,
*在每次輸入完成後輸出整個數組,直到手動終止程序
*@authorLYTG
*/
privatestaticString[]array=newString[0];
publicstaticvoidtest2(){
Scannersc=newScanner(System.in);
System.out.println("請輸入一串字元(輸入完請敲回車):");
Stringinput=sc.nextLine();
if(input.contains("")){
String[]a=input.split("");
intarrayLength=array.length;
intaLength=a.length;
String[]newArray=newString[arrayLength+aLength];
System.array(array,0,newArray,0,arrayLength);
System.array(a,0,newArray,arrayLength,aLength);
array=newArray;
}else{
intarrayLength=array.length;
String[]newArray=newString[arrayLength+1];
System.array(array,0,newArray,0,arrayLength);
newArray[arrayLength]=input;
array=newArray;
}
out(array);
test2();
}
}
⑵ java 中 String 數組怎麼動態賦值
publicclassStringTest{
publicstaticvoidmain(String[]args){
//方法1:知道數組有多長的前提下!
String[]srr=newString[10];
//循環動態賦值!
for(inti=0;i<srr.length;i++){
srr[i]="第"+(i+1)+"個字元串";
System.out.println(srr[i]);
}
System.out.println("-------------分割線----------------");
//方法2:用這個比較好,就是不知道數組多長的前提下!
//用容器橋接!
StringBuilderstb=newStringBuilder();//字元串容器!
//隨便一個長度,自定義!
for(inti=0;i<10;i++){
stb.append("第"+(i+1)+"個字元串,");
}
//定義一個數組,然後切割容器即可!
String[]arr=newString(stb).split(",");
//查看切割好的字元串數組!
for(Stringa:arr)
System.out.println(a);
}
}
⑶ java動態創建數組並給其賦值
importjava.util.Scanner;
publicclassTest{
publicstaticvoidmain(String[]args){
Scannersc=newScanner(System.in);
System.out.println("請輸入創建的數組的大小:");
intsize=sc.nextInt();
int[]a=newint[size];
System.out.println("手動為每個數組元素賦值:");
for(inti=0;i<size;i++){
a[i]=sc.nextInt();
}
System.out.println("動態創建的數組為:");
for(inti=0;i<size;i++){
System.out.print(a[i]+"");
}
}
}
⑷ java 中 String 數組怎麼動態賦值
String數組盯叢元素個數是固定的,聲明多少就是多少,如果你要改變元素的值就使用 str[i] = "1";的形式賦值,如果要擴容可以間接的做
定義一陵則仔個擴容方法,參數1 要擴容的數組、參數2 要擴容的位數
方法中功能:獲取參數1的length,新建一個數組,長度為參數1的length加上參數2的值,
for循環尺汪,將參數1的元素依次寫入新建的數組,將新數組返回
⑸ java作業 如何給一個數組動態賦值
//這里提供下實現思路,不保證高效,如果想看高效的實現方式,可以看看ArrayList的實現源碼
//數組
int[]is=newint[1];
//標記數組的非空長度
intsize=0;
publicint[]add(intt){
//如果數據長度大於等於數組長度,則擴充數組
if(size>=is.length){
//每次擴充10個長度
int[]temp=newint[size+10];
//將is的數據拷貝到臨時數組中
笑含for(inti=0;i<is.length;i++){
temp[i]=is[i];
談升信}
is=temp;
含輪}
//給數組賦值
is[size++]=t;
}
⑹ java 中 String 數組怎麼動態賦值
java中有一個叫做集合,這個長度是可以動態變化的,你可以使用集合和泛型。
數組和集合是有區別的 集合的攔迅早長度可簡雀以不固定 但是數組的長度必須確定的 你所謂的數組動態只是在已經聲明的長度的情況下 給某個索引下的元素賦值昌亮
⑺ java 中 String 數組怎麼動態賦值
定義一個String類型的變數:s 然後在要賦值的地方賦值:s="abc";就可以了。
⑻ java創建一個數組,動態為數組賦值,升序排序後輸出
public class Test { public static void main(String[] args) { int[] n = new int[10]; Random r = new Random();//實例一個隨機數對象 for(int i = 0; i < n.length; i++) { n[i] = r.nextInt();//將一個隨機數賦給下標為i的數組元素 System.out.println(n[i]);//列印這個數顯示出來 } int max = n[0];/基則/初始將高鋒鏈數組的第一個數當成戚孫最大的數給max變數 for(int i = 1; i < n.length; i++) { //如果max小於下標為i的數組元素,就重新賦值 if(max < n[i]) max = n[i]; } System.out.println("最大:" + max);//顯示最大的數 } }
⑼ java的中字元串數組怎麼動態賦值急求
定義一個String類型的槐坦變數:s
然後在要賦值的地鉛唯桐方賦值:s="abc";就山宴可以了。
⑽ java怎麼給int數組加一個值
靜態聲明:
int[] a = {1,2,3};
動態聲明:
int[] b = new int[3];
b[0] = 1;
b[1] = 2;
b[2] = 3;