如何在Java中调用Switch案例中的多个方法

时间:2015-05-24 01:26:05

标签: java methods switch-statement

我正在学习如何使用MVC在Java中构建一个表,我正在尝试一个切换案例,它既可以对模型中的数据执行更改,也可以调用这样的方法

 public void update()
    {   model.fireTableDataChanged();   }

更新表格中显示的数据。

这是开关案例

 public Object getValueAt(int row, int col)
    {   switch(col)
        {   case 0: return row;
            case 1:  return car.on(car.stops());
            default: return "";   }  
        }

非常感谢任何帮助,如果您需要查看更多代码来帮助您回答我的问题,我会提供。

2 个答案:

答案 0 :(得分:2)

你似乎对错误的理解认为案件在第一个分号结束。这是不正确的。案例不会结束,直到你用整个开关语句的闭括号结束它们,或直到你包括休息时间。在案例和案例结束之间,您可以拥有任意数量的代码行(几乎可以)。(/ p>

将开关想象成一个函数,其中退出函数的唯一方法是到达break语句,return语句或最后的close括号,这与退出函数返回的方式完全相同并到达功能的最后。

Imports System.Data.OleDb
Module Module1
    Public acsconn As New OleDb.OleDbConnection
    Public acsdr As OleDbDataReader
    Public strsql As String
    Sub connect()
        acsconn.ConnectionString = "Provider=Microsoft.ace.oledb.12.0;data source=|datadirectory|\Base1.accdb;"
        acsconn.Open()
    End Sub
End Module

如果条件为1,则调用fcnOne()。 fcnOne()没有中断,因此代码继续进入案例2.这通常被称为通过。然后调用fcnTwoA()。代码继续执行下一条指令,即调用fcnTwoB()。下一条指令是fcnThree()。最后,我们遇到了一个break语句,它退出了switch块。

是的,我故意忽略异常,System.exit(),并返回非void函数的值。

答案 1 :(得分:1)

我的代码格式不同。希望它能够更容易理解多个语句。尝试这样的事情:

public Object getValueAt(int row, int col) {
    switch(col) {   
        case 0:
            // You can add any number of statements here.
            ...
            update();
            return row;
        case 1:
            ...
            update();
            return car.on(car.stops());
        default:
            ...
            update();
            return "";
    }  
}