Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/376.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-我需要在main方法内部使用一个变量boolean,在同一个类外部初始化_Java_Boolean_Main - Fatal编程技术网

Java-我需要在main方法内部使用一个变量boolean,在同一个类外部初始化

Java-我需要在main方法内部使用一个变量boolean,在同一个类外部初始化,java,boolean,main,Java,Boolean,Main,布尔值必须位于主方法之外,以便其他方法可以对其进行操作。我到处都找遍了,找不到合适的答案,因为我偶然发现的都是布尔方法的解决方案。它必须是一个简单的布尔值,不能是静态的。没有太多的时间,所以任何帮助都会很好。谢谢 public class myClass { private int[][] holdsStuff; private boolean isNeeded; public setFalse (){ } public setTrue () { }

布尔值必须位于主方法之外,以便其他方法可以对其进行操作。我到处都找遍了,找不到合适的答案,因为我偶然发现的都是布尔方法的解决方案。它必须是一个简单的布尔值,不能是静态的。没有太多的时间,所以任何帮助都会很好。谢谢

public class myClass {

   private int[][] holdsStuff;
   private boolean isNeeded;

   public setFalse (){
   }

   public setTrue () {
   }

   public static void main(String[] args) {
      //call methods to change isNeeded
      //require isNeeded to prevent invalid changes being made to holdsStuff
   }
}

如果类成员
isNeeded
不是静态的,那么它必须属于
myclass
的实例,您可以创建一个新实例并操作此实例:

public class myClass {

    private int[][] holdsStuff;
    private boolean isNeeded;

    public void setFalse (){
        isNeeded = false;
    }

    public void setTrue () {
        isNeeded = true;
    }

    public static void main(String[] args) {
        myClass mc = new myClass();
        myClass.setFalse();

    }
}

因为main是静态的,所以可以使用静态键控,也可以创建同一类的实例。使用静态键执行以下操作:

public class myClass {

   private int[][] holdsStuff; // make this static if you are also this inside main
   private static boolean isNeeded;

   public static setFalse (){
   }

   public static setTrue () {
   }

   public static void main(String[] args) {
      //call methods to change isNeeded
      //require isNeeded to prevent invalid changes being made to holdsStuff
   }
}
您希望在其他方法和主方法(即静态方法)中使用isNeeded,而静态方法只处理静态数据。所以,您要做的是在main方法中调用这个类的实例isNeeded


main
中声明,将其传递给其他需要它的方法。或者将其设置为
static
(“它不能是静态的”闻起来像是家庭作业)此外,您忘记了方法中的返回类型…不要对
main
中的
holdstuff
做任何更改,只在方法中。Frederico,我们都必须学习。两者的返回类型都是(int,int)。这就是我所需要的。我确实试过了,但我的语法显然错了。让我看看你有什么!!我是这个网站的新手,我只能看到添加评论(无代码)或回答问题的选项。我的思路是正确的,但是当我创建一个类的实例时,我为一个构造函数创建了它,该构造函数将两个整数作为数组对象的参数。我认为我需要为布尔值创建一个新实例,但布尔值是由操作对象的方法更改的。因此,我的布尔值在主要方面从未变为真。当我将它用于已经创建的实例时,一切都正常工作。一件简单的事,但它教会了我很多。谢谢
public class myClass {

   private int[][] holdsStuff; // make this static if you are also this inside main
   private static boolean isNeeded;

   public static setFalse (){
   }

   public static setTrue () {
   }

   public static void main(String[] args) {
      //call methods to change isNeeded
      //require isNeeded to prevent invalid changes being made to holdsStuff
   }
}
 public static void main(String[] args) {
       myClass myclass = new myClass();          
       boolean isNeeded = myclass.isNeeded;
   }