java - 在 Java 中是否可以在 main 方法中创建过程?

标签 java variables methods program-entry-point procedure

来源:

import java.util.Scanner;

class Test1{
    public static void main(String[] args){
        int x,y,ir;
        x = 10;
        y = 5;
        Scanner scan = new Scanner(System.in);
        ir = scan.nextInt();

        switch(ir){
            case 1: y++;
                break;
            case 2: y--;
                break;
            case 3: x++;
                break;
            case 4: x--;
                break;
        }
    }
}

我想重复这部分几次:

switch(ir){
    case 1: y++;
        break;
    case 2: y--;
        break;
    case 3: x++;
        break;
    case 4: x--;
        break;
}

但我不想再写一遍。这就是为什么我想把它写成过程或方法。有没有办法编写一个可以在我的主要方法中修改变量的方法?

最佳答案

在你的情况下你不能,因为你正在使用 primitive types .但是,如果您使用引用类型,则可以在将其传递给另一个方法时修改其内容。

您的问题的解决方案是在更高级别定义您的变量(此处为实例范围)或将包装器类型传递给您的方法(例如 int 具有相应的引用输入整数)。不过,我不建议您采用后一种方法。

另一种可能更有趣的解决方案是将其包装在 a loop 中。在你的 main 方法中。我不完全清楚你想做什么,但你一定要看看是否可以这样解决。

请注意,您正在使用 main 方法,因此您要调用的任何方法都必须是 static。正确的代码不会这样做,而是使用对象和实例方法。

但是不行,你不能嵌套方法。

关于java - 在 Java 中是否可以在 main 方法中创建过程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25318814/

相关文章:

javascript - 有没有一种方法可以用动态名称处理 javascript 函数?

swift - 已经声明的变量显示 'variable used before declaration'

java - PHP socket_write 不工作

python - 将函数分配给对象属性

java - 如何将 Jasypt 库添加到 OS X?

java - @GetMapping 不序列化 ID

javascript - HTML 选择值传递到 Javascript var(然后用于获取 JSON)

ios - iPhone音频资源

java - 为什么 SerialVersionUID 是静态的

java - 使用迭代器向后列表迭代