catch 子句之后的 java wait() 语句

标签 java

当我运行该程序时,它不显示“HIIII”。 我是一个新手(某种程度上),所以请不要“讨厌”。 我的 wait() 语句是否错误?或者我做错了什么? 是 ArrayIndexOutOfBounds catch 子句吗?请帮忙!

[edit] 哦,这是主要方法吗?它什么也没做? [edit] 我知道等待和通知是错误的......请不要提及它。

//this is the whole class
import javax.swing.*;
import javax.swing.JOptionPane;
public class none {

static boolean game;
final static boolean on = true;
final static boolean off = false;
static boolean cheatMode;
public static void main(String[] args) {
    game = on;
    boolean tru = true;
    try{
        if(tru = Boolean.parseBoolean(args[0])){
            cheatMode = on;
            System.out.println("Cheats are on.");
        }
        }
        catch(java.lang.ArrayIndexOutOfBoundsException e){
            e.printStackTrace();
            System.out.println("Ignore this error, it's from not running it on the command prompt.");
        }
}



public class console extends Thread{
    public void run(){
        try{
        wait();
        JOptionPane.showMessageDialog(null,"HIIII");
        }
        catch(Exception e){
            e.printStackTrace();
            System.out.println("The console glitched...");
        }
//hiiii
        JOptionPane.showMessageDialog(null,"HIIII");
        }
    public class mainThingy extends Thread{
        public void run() {
        if(game = on)
        notify();
    }
}
    }
}

最佳答案

似乎有几个问题

1) if(tru = Boolean.parseBoolean(args[0])){ 

以上语句是赋值而不是比较。使用 == 运算符。

2) 等待和通知应始终从 Synchronized block 内部调用。您的代码似乎没有这样做。

关于catch 子句之后的 java wait() 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12833450/

相关文章:

java - 查找未知尺寸的二维数组的最大高度和宽度 (Java)

Eclipse 中的 Java 库路径 - 一次将 dll 库添加到多个 jar 中?

java - Spark和java编译错误

java - 在 Java 中按引用传递和在 C 中传递指针有什么区别?

java - 如何在操作系统时间更改时收到通知

java - android从URL解析json

java - 与 while 循环相关的变量声明的位置

Java Helper 类 - 不同形式的语法

java - 如何使用模式类(正则表达式)计算 java 字符串中每个字符的出现次数

java - Tomcat 服务器未作为服务 : %1 is not a valid Win32 application 启动