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

时间:2014-01-10 06:18:34

标签: 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的新手,非常感谢任何帮助:)

2 个答案:

答案 0 :(得分:0)

这是一个可变范围问题。

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

int i1;

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

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

之内
public class ThumbDrives {
    ...
}

如果声明为“static”,则称为类变量。

public class ThumbDrives {
     static int i1;
}

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

如果没有声明为静态

public class ThumbDrives {
     int i1;
}

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

答案 1 :(得分:0)

全局声明您的必需变量,以便您可以在整个班级中的任何位置访问所需的值

在方法之外初始化这些变量

 int i1,i2,i3,i4,R1,R2,R3,R4;

    int ch,choi=0;