『壹』 关羽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]);
}
}
}
运行结果如下: