当前位置: 首页 > 知识库问答 >
问题:

Java基本if/else语句状态更改

葛嘉悦
2023-03-14

请看下面我附加的代码,然后我的问题在最后。

class events extends JFrame{
    private JLabel label;
    private JButton button;

    public events() {
        setLayout(new FlowLayout());

        button = new JButton("Click for text");
        add(button);

        label = new JLabel("");
        add(label);

        event e = new event();
        button.addActionListener(e);

    }

    public class event implements ActionListener {
        public void actionPerformed(ActionEvent e) {
            int x = 0;
            if (x == 0) {

                label.setText("the new label");
                System.out
                        .println("setting x to 0 and label to display a label");
                x = 1;
                System.out.println(x);
            } else {
                label.setText("newerer label");
                System.out.println("i reached the else segment");

                x = 0;
                System.out.println(x);
            }

        }

    }

    public static void main(String args[]) {
        events gui = new events();
        gui.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        gui.setTitle("Events Test");
        gui.setSize(300, 100);
        gui.setVisible(true);

    }

}

背景:我正在学习java并试图理解一个概念。使用这个程序,我试图创建一个带有按钮的小gui,当单击该按钮时,该按钮将为JLabel分配字符串值“the new label”。但是,如果单击第二次,我想使用相同的按钮将标签更改为“Newerer label”,如果单击第三次,我想使用相同的按钮将标签更改为“Newerer label”。我试图使用一个if/Else语句来实现这一点,该语句带有一个变量x,以保持本质上为1或0的状态。在if/else的每一部分结束时,我适当地将x的状态更改为1或0。然而,当试图在eclipse中运行该程序时,我遇到了某种错误。我为if/else的每个部分分配了一个System.out.println,试图查看程序如何在这两种状态之间切换,但似乎从未达到else语句。

    null

共有1个答案

叶允晨
2023-03-14

变量“x”必须声明为类成员。

public class event implements ActionListener{
    private int x = 0;

    public void actionPerformed(ActionEvent e){
        if(x == 0){
            label.setText("the new label");
            System.out.println("setting x to 0 and label to display a label");
            x = 1;
            System.out.println(x);
        }
        else {
            label.setText("newerer label");
            System.out.println("i reached the else segment");
            x = 0;
            System.out.println(x);
        }
    }
}
 类似资料:
  • 主要内容:if 结构,if-else 结构,多条件 if-else-if 语句,嵌套 if 的使用Java 支持两种选择语句:if 语句和 switch 语句。其中 if 语句使用布尔表达式或布尔值作为分支条件来进行分支控制,而 switch 语句则用于对多个整型值进行匹配,从而实现分支控制。这些语句允许你只有在程序运行时才能知道其状态的情况下,控制程序的执行过程。如果你没有 C/ C++ 的编程背景,你将会为这两个语句的强大功能和灵活性而感到吃惊。 选择结构(也叫分支结构)解决了顺序结构不能

  • Swift 条件语句 一个 if 语句 后可跟一个可选的 else if...else 语句,else if...else 语句 在测试多个条件语句时是非常有用的。 当你使用 if , else if , else 语句时需要注意以下几点: if 语句后可以有 0 个或 1 个 else,但是如果 有 else if 语句,else 语句需要在 else if 语句之后。 if 语句后可以有 0

  • else语句可以与if语句结合使用。 else语句包含else语句中的条件表达式解析为0或FALSE值时执行的代码块。 else语句是一个可选语句, else后面最多只能有一个else语句。 语法 (Syntax) if...else语句的语法是 - if expression: statement(s) else: statement(s) 流程图 (Flow Diagram) 例

  • 我的程序有问题,我在使用if-else语句 在我的程序中,我试图计算字符串上的元音和辅音。我已经知道怎么做了,我的问题是我想添加一条“错误”消息,如果用户输入非字符串,它将显示错误框。 “尝试运行程序,用户将输入一个“字符串”,如果用户按“排序”,它将计算元音和辅音。我需要的是如果用户不会输入“字符串”,例如双精度或int…等等,只要它不是字符串,它就会显示错误框。

  • 本文向大家介绍Java基础教程_判断语句if else,包括了Java基础教程_判断语句if else的使用技巧和注意事项,需要的朋友参考一下 与三元运算符相比: 好处:可以简化if else 代码 弊端 因为是一个运算符,所以运算玩必须要有一个结果 以上这篇Java基础教程_判断语句if else就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。

  • 主要内容:if 语句,实例,if...else 语句,实例,if...else if...else 语句,实例,if...else 嵌套语句,实例Scala IF...ELSE 语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。 可以通过下图来简单了解条件语句的执行过程: if 语句 if 语句有布尔表达式及之后的语句块组成。 语法 if 语句的语法格式如下: 如果布尔表达式为 true 则执行大括号内的语句块,否则跳过大括号内的语句块,执行大括号之后的语句块。 实