java - 如何将从一种方法获得的变量值传递给另一种方法

标签 java

所以,基本上我开始这个程序,如果用户输入 1 ,他可以购买东西,如果他输入 2 他可以查看他的东西,如果他按 3,他可以更新它,而且如果他输入4 他可以退出循环。

到目前为止我已经做了这么多

import java.util.Scanner;

public class ThumbDrives {

    public static void data()
    {
        System.out.print("HD of 512MB (@ 10$ per)");
        System.out.print("HD of 512MB (@ 10$ per)");
        System.out.print("HD of 512MB (@ 10$ per)");
        System.out.print("HD of 512MB (@ 10$ per)");
        int i1;
    }

    public static void main(String args[])
    {   
        int i1,i2,i3,i4,R1,R2,R3,R4;
        int ch,choi=0;
        do {

        Scanner choice = new Scanner(System.in);
        System.out.println("Enter your Choice -;");
        System.out.println("1) Entering the data");
        System.out.println("2) Displaying the data");
        System.out.println("3) Updating the data");
        System.out.println("4) Press 4 to exit");
        ch = choice.nextInt();
            switch(ch)
            {
            case 1:

                break;
            case 2: 

                break;
            case 3:

                break;
            case 4:

                break;
            default: 
                System.out.print("Your choice isnt appropriate");

            }

        }
        while(choi!=4);

    }
}

但是,我希望这样,如果我获得方法数据中输入的值,就可以在类中的任何位置访问它们。

抱歉,我是java新手,任何帮助将不胜感激:)

最佳答案

这是一个可变范围问题。

局部变量是在方法的范围内声明的。所以,如果你写

int i1;

在 data() 方法的范围内,您只能在 data 中访问它。

如果将它从局部变量移动到类字段,那么整个类都可以访问它。因此,将 i1 声明移到 data() 之外,并将其保留在

public class ThumbDrives {
    ...
}

如果它被声明为“静态”,则它被称为类变量。

public class ThumbDrives {
     static int i1;
}

类/静态变量可供该类的所有实例使用。

如果没有声明为静态

public class ThumbDrives {
     int i1;
}

然后它将在内存中的该实例中可用。

关于java - 如何将从一种方法获得的变量值传递给另一种方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21037432/

相关文章:

java - Android 套接字流

java - 当可见性更改时,JButton 大小设置为默认大小

java - 无法将 JSP 属性组配置与 jetty-runner 9.1.4 一起使用

java - 嵌套的 while 循环与条件不匹配

java - 为什么我的 DAO 读取 .txt 文件而不存储所有数据行?

java - IntelliJ IDEA 12.0 JVM 启动报错

java - 是否有对象更改跟踪/版本控制 Java API?

java - BufferedInputStream 的 available() 行为不符合预期

Java尾递归: Is below Fibonacci code tail recursive ?

java - 如果条件正常工作,为什么我的 while 循环不能正常工作?