『壹』 關羽java的socket傳輸字元串數組問題
給你一段代碼,不知道能不能解決你的問題
可以直接傳字元串,也可以將字元串數組封裝對象進行傳輸。
服務端代碼:
import java.io.ObjectInputStream;
import java.net.ServerSocket;
import java.net.Socket;
public class MyServer {
public static void main(String[] args) throws Exception{
ServerSocket ss = new ServerSocket(9091);
Socket s = ss.accept();
System.out.println("new connection");
ObjectInputStream oi = new ObjectInputStream(s.getInputStream());
String [] arr = (String[]) oi.readObject();
System.out.println(arr[0] + arr[1]);
}
}
客戶端代碼:
import java.io.ObjectOutputStream;
import java.net.Socket;
public class Mysocket {
public static void main(String[] args) throws Exception {
Socket s = new Socket("localhost",9091);
ObjectOutputStream out = new ObjectOutputStream(s.getOutputStream());
out.writeObject(new String[]{"123","232"});
out.flush();
out.close();
}
}
『貳』 JAVA數組傳遞問題
看來你是個小菜,
主main()方法是static靜態的,靜態方法不能調用非靜態方法,你可以在main()方法里這樣寫
先new一個你的類,for exanple:Test t=new Test();t.sort(data);
或者你將上面的public void sort(int []data) 改為 public static void sort(int []data)
『叄』 java 怎樣傳遞數組對象
public static void main (String args[]){
Object[] object= updateDatabase();
}
public static Object[] updateDatabase(){
return new Object[x]; - 假設在這里知道x是多少
}
這樣就行了。按你的要求不應愛去傳入一個數組,
而應該是要指定的方法為你創建一個特定長度的
數組返回給你使用
『肆』 Java中數組的定義與使用方法
Java中數組的定義與使用方法:
1、數組的定義
語法有兩種:
type arrayName[];
type[] arrayName;
type 為Java中的任意數據類型,包括基本類型和組合類型,arrayName為數組名,必須是一個合法的標識符,[ ] 指明該變數是一個數組類型變數。
例如:
int demoArray[];
int[] demoArray;
這兩種形式沒有區別,使用效果完全一樣,讀者可根據自己的編程習慣選擇。
注意:Java在定義數組時並不為數組元素分配內存,因此[ ]中無需指定數組元素的個數,即數組長度。而且對於如上定義的一個數組是不能訪問它的任何元素的,開發者必須要為它分配內存空間,這時要用到運算符new,其格式如下:
arrayName=new type[arraySize];
其中,arraySize 為數組的長度,type 為數組的類型。如:
demoArray=new int[3];//為一個整型數組分配3個int 型整數所佔據的內存空間。
2、數組的初始化
可以在聲明數組的同時進行初始化(靜態初始化),也可以在聲明以後進行初始化(動態初始化)。例如:
// 靜態初始化
// 靜態初始化的同時就為數組元素分配空間並賦值
int intArray[] = {1,2,3,4};
String stringArray[] = {"", "", "網路知道"};
// 動態初始化
float floatArray[] = new float[3];
floatArray[0] = 1.0f;
floatArray[1] = 132.63f;
floatArray[2] = 100F;
3、數組的使用:
每個數組都有一個length屬性來指明它的長度,例如 intArray.length 指明數組 intArray 的長度。
【示例】寫一段代碼,要求輸入任意5個整數,輸出它們的和。
import java.util.*;
public class Demo {
public static void main(String[] args){
int intArray[] = new int[5];
long total = 0;
int len = intArray.length;
// 給數組元素賦值
System.out.print("請輸入" + len + "個整數,以空格為分隔:");
Scanner sc = new Scanner(System.in);
for(int i=0; i<len; i++){
intArray[i] = sc.nextInt();
}
// 計算數組元素的和
for(int i=0; i<len; i++){
total += intArray[i];
}
System.out.println("所有數組元素的和為:" + total);
}
}
運行結果:
請輸入5個整數,以空格為分隔:10 20 15 25 50
所有數組元素的和為:120
『伍』 java中數組是怎麼作為函數參數進行傳遞的
舉個例子和你說。
傳遞數組參數:
1. 傳遞數組
要傳遞數組到方法里,只要指明傳入的參數是一個數組即可。
例:
public class ArrayDemo //定義主類
{
public static void main(String args[])
{
int a[]={8,23,7,6,9,23}; //定義一維數組
ArrayDemo min=new ArrayDemo (); //創建對象
min.arrayMin(a); //將一維數組a傳入least()方法
}
public void arrayMin(int array[]) //參數array[]接受一維整形數組
{
int temp=array[0];
for(int i=0;i<array.length;i++)
if(temp>array[i])
temp=array[i];
System.out.println("最小的數為:"+temp);
}
}
從該例中可以看出,如果要將數組傳遞到方法里,只需在方法名後的括弧內寫上數組的名即可。二維數組的傳遞與一維數組相似,在需在方法里聲明傳入的參數是一個二維數組。
『陸』 java數組的傳遞
按照C的理解是傳地址。Java的說法是傳引用。
Java中基本數據類型內是傳值容的。如boolean,byte,char,short,int,long,float,double。
Java中引用數據類型(包括數組,包括基本類型的數組)是傳引用的。
如
int[] is = new int[]{1,2,3};
int[] is2 = is;
is2[0] = 10;
那麼is[0]也跟著變化。
『柒』 java中如何在類與類之間如何傳遞數組 我在一個類中聲明了一個數組,如何在第二個類中調用啊
涉及2個問題
1.訪問修飾符
修飾符 范圍
public 公開
default(啥也不寫) 同包
protected 子類
private 內部
想在另外一個類中訪問另一個成員(無繼承關系)
如果同包可以控制到default以上
2.static使用
靜態成員變數你可以理解成這個成員不在是對象的一個變數域而是類的一個變數域
類可以對應多對象 好比人類(類)可以對應多個具體的人(對象)
如果是類變數那可以通過 類名 點 XX訪問
如果是對象要有對象 new xxx 點 XXX
『捌』 java怎麼在兩個自定義方法中使用參數傳遞數組
1、把X設為全局變數,即可直接調用
2、給vv()加一個參數,在ii()中調用並傳遞進去,因為是對象,調用完畢之後ii()還可以繼續使用vv()操作後的X
『玖』 java中數組之間的傳值
java中數來組之間的傳值,可以使用for循環源語句根據下標分別進行賦值,實例如下:
packagecom.qiu.lin.he;
publicclassCeShi{
publicstaticvoidmain(String[]args){
int[]i=newint[]{1,2,3};//第一個int數組
int[]j=newint[3];//等待賦值的第二個int數組
for(intk=0;k<3;k++){
j[k]=i[k];//進行數組之間賦值
System.out.println("數組之間賦值"+j[k]);
}
}
}
運行結果如下: