Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在运行其他文件时使用来自其他文件方法的java变量_Java_Arrays_Variables_Static_Static Methods - Fatal编程技术网

在运行其他文件时使用来自其他文件方法的java变量

在运行其他文件时使用来自其他文件方法的java变量,java,arrays,variables,static,static-methods,Java,Arrays,Variables,Static,Static Methods,我有两个这样的文件: public class Crypt{ public static byte[] decrypt(byte[] val, byte[] key, int type) { //val assigned here // the following is used to assign it. val[length - len - 1] ^= key[8 + (((byte)(key[8 + b] + key[8 +

我有两个这样的文件:

public class Crypt{

    public static byte[] decrypt(byte[] val, byte[] key, int type)
    {

        //val assigned here
        // the following is used to assign it.
       val[length - len - 1] ^= key[8 + (((byte)(key[8 + b] + key[8 + a])) & 0xFF)];


      return val;
    }   

}
Client.java:

public class Client implements Runnable {
//code

   public void run() {
   //more code
       Crypt cls = new Crypt();
       cls.decrypt(request,key,type);
       //print "val" here.
   //more code
   }
}
然后是Crypt.java文件,如下所示:

public class Crypt{

    public static byte[] decrypt(byte[] val, byte[] key, int type)
    {

        //val assigned here
        // the following is used to assign it.
       val[length - len - 1] ^= key[8 + (((byte)(key[8 + b] + key[8 + a])) & 0xFF)];


      return val;
    }   

}
我需要能够在Client.java文件中的val变量运行完Crypt.java文件后再次访问它

我试过
cls.val
cls.decrypt.val
但是我不知道如何让它工作

谢谢你的帮助

因为您的
decrypt()
方法返回一个值,所以在调用它时将其分配给一个变量

byte[]result=cls.decrypt(请求、密钥、类型)

然后,您的
结果
变量就是您想要的值,在
Client.java
中,可以随时使用。

Crypt
中的
dycrypt()
方法是
Crypt
类的
静态
成员。因此,您不需要在
Client
类中创建
Crypt
类的实例,如-

Crypt cls = new Crypt();
cls.decrypt(request,key,type);  
您可以使用类名调用
decrypt()
方法,并将返回值存储到
字节[]
数组中-

byte[] vals = Crypt.decrypt(request, key, type); 
for(byte each : vals){
   System.out.println(each);
}
然后使用for循环/对于每个循环,您可以打印
vals
数组-

byte[] vals = Crypt.decrypt(request, key, type); 
for(byte each : vals){
   System.out.println(each);
}

只需将
dectypt
的返回值赋给一个变量并使用它即可

byte[] res = cls.decrypt(request,key,type);

您在哪里申报的
val
?它是一个方法局部变量或实例变量或静态变量?存储返回值
byte[]res=cls.decrypt(请求、密钥、类型)cls.decrypt()
的结果分配给某个对象即可。而且,似乎传递给该方法的是原始字节数组。所以您的
请求
变量也指向它。@tomse post as answer m8;)您甚至不必使用新操作符-
Crypt cls=new Crypt()
,因为
decrypt()
是一种静态方法。看看我的答案。