Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/358.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 如何将引用数组传递给setter?_Java_Arrays - Fatal编程技术网

Java 如何将引用数组传递给setter?

Java 如何将引用数组传递给setter?,java,arrays,Java,Arrays,编写一个名为setTo5的方法,该方法传递对int数组的引用,并将该数组的内容设置为all 5s。这就是我到目前为止所做的,它在公共静态void main(…);之后的第二行给了我一个错误;。如何做一个更好的二传手 public class Set5 { private static int n = 8; static int[] boop = new int[n]; public static void main(String[] args){ int

编写一个名为setTo5的方法,该方法传递对int数组的引用,并将该数组的内容设置为all 5s。这就是我到目前为止所做的,它在公共静态void main(…);之后的第二行给了我一个错误;。如何做一个更好的二传手

public class Set5 {
    private static int n = 8;
    static int[] boop = new int[n];

    public static void main(String[] args){
        int[] roop = new int[n];
        roop.setTo5(5);

    }

    public void setTo5(int poop){
        for(int i = 0; i<n ; i++){
        poop = boop[i];

        }
    }

}
公共类集合5{
私有静态int n=8;
静态int[]boop=新int[n];
公共静态void main(字符串[]args){
int[]roop=新的int[n];
roop.设置为5(5);
}
公共无效设置为5(int poop){

对于(int i=0;i请尝试以下操作:

public class Set5 {
    private static int n = 8;
    static int[] boop = new int[n];

    public static void main(String[] args){
        int[] roop = new int[n];  

        //Create instance of Set5 class  to call setter
        Set5 set5reference = new Set5(); 

        set5reference.setTo5(roop);

        //All the values in roop will now be 5 as set by setter.

    }

    //change this method to accept array reference like this
    public void setTo5(int[] poop){
        for(int i = 0; i<n ; i++){
            poop[i] = 5;
        }
    }
}
公共类集合5{
私有静态int n=8;
静态int[]boop=新int[n];
公共静态void main(字符串[]args){
int[]roop=新的int[n];
//创建Set5类的实例以调用setter
Set5 set5reference=新Set5();
set5reference.setTo5(roop);
//按照setter的设置,roop中的所有值现在都将是5。
}
//更改此方法以接受如下数组引用
公共无效设置为5(int[]poop){

对于(int i=0;i要完全用某个值填充数组,请使用:

java.util.Arrays.fill(poop, 5)
就你而言:

public class Set5 {
    private static int n = 8;
    //static int[] boop = new int[n]; // unused variable

    public static void main(String[] args){
        int[] roop = new int[n];
        setTo5(roop);
        print(roop);
    }

    public static void setTo5(int[] poop){
        java.util.Arrays.fill(poop, 5)
       // for(int i = 0; i<poop.length ; i++){
       //    poop[i]=5;

        //}
    }

    public static void print(int[] poop){
         for(int i = 0; i<poop.length ; i++){
           System.out.println("array["+i+"] = "+poop[i]);

        }
    }


}
公共类集合5{
私有静态int n=8;
//静态int[]boop=newint[n];//未使用的变量
公共静态void main(字符串[]args){
int[]roop=新的int[n];
设置为5(roop);
打印(roop);
}
公共静态无效设置为5(int[]poop){
fill(poop,5)

//对于(int i=0;我在代码中看不到任何合适的setter方法。我必须写这个吗。n=poop?我目前对setter不是很精通。Java中的数组不实现
setTo5()
method。您需要对实现它们的类型调用方法。如何制作更好的setter?这句话非常混乱,在java中,当我们指setter和getter时,它完全是从一个完全不同的角度来理解的。setter指的是为变量设置值,getter指的是从变量中提取值,然后我们甚至对setter和getter方法也遵循某些命名约定。你能更清楚地回答你的问题吗?为他们做OP的作业不是特别有成效。最好给他们伪代码和/或提示。看。我理解。但OP试图解决一些问题。它不起作用。我试图解释这将产生什么以及如何产生效果ork。如果我对帮助解决特定问题的理解不正确,请纠正我。谢谢,但当我打印出来时,我得到了某种地址码。出了什么问题?您将再次添加for循环,以迭代
roop
变量并打印
roop[I]等值
内部循环。@dognose有一个名为
roop
的局部变量。代码可以编译并运行,但可以改进(很多)@dognose,在我编辑这篇文章时,你发表了三条评论并投了反对票。因为我专注于帮助,我试图尽快给出answar。请重新思考你的行为。投反对票很容易,但给出至少一些答案却很难。即使我使用这种方法,我也会得到以下结果:[I@659e0bfd这是为什么?@krzysztofcichochoki我投了反对票,因为你的第一个答案只是再次粘贴的代码,包含两个无法编译的错误。在发布之前考虑一下你的答案。没有必要是第一个答案,质量很重要。请重新思考你的行为。当然,如果你想获得第一个答案,就需要第一个答案声誉点。我的代码第一次不会编译,因为它是我有权发布的伪代码。在这种情况下,它足以展示想法和语言工具,它不是复制粘贴的,它有应该用于解决问题的更改。