Java 使用其他方法中的变量
我有两个Java方法Java 使用其他方法中的变量,java,variables,methods,Java,Variables,Methods,我有两个Java方法 在第一种方法中,我要求用户做出选择,然后我希望存储此选择以供将来使用 我编写的第二个方法只是为了调用第一个方法来使用此选项 现在,我想使用这个变量并将其添加到ArrayList中有可能吗? public static void letUserChooseAgain () { System.out.println("Please choose an option (1/2):"); System.out.println("1. Dollars to Pound
ArrayList
中有可能吗?
public static void letUserChooseAgain () {
System.out.println("Please choose an option (1/2):");
System.out.println("1. Dollars to Pounds");
System.out.println("2. Pounds to Dollars");
Scanner scanner = new Scanner(System.in);
double userChoice = scanner.nextDouble();
userChoiceToRemember(userChoice);
}
public static void userChoiceToRemember (double number) {
double remember = number;
}
您需要创建一个数据结构,以保持需要共享的值。通常,这是通过定义一个类来完成的,该类的成员保存该类所需的数据,方法可以访问和更改成员。这个包含成员和访问器方法的简单java类称为JavaBean 本例中的另一个选项是使用类型为
ArrayList
的静态变量来保留用户选择
我会选择一个简单的类,它使用ArrayList
成员保存用户选择。另外一个类是使用用户提供的输入控制程序流的类
在主类-程序的入口点中,您需要实例化控制流的类和存储用户选择的类。如果我理解正确,您想在这样的数组中保存数字吗
Array<Double> numbers = new Array<>();
public static void letUserChooseAgain () {
System.out.println("Please choose an option (1/2):");
System.out.println("1. Dollars to Pounds");
System.out.println("2. Pounds to Dollars");
Scanner scanner = new Scanner(System.in);
double userChoice = scanner.nextDouble();
userChoiceToRemember(userChoice);
}
public static void userChoiceToRemember (double number) {
double remember = number;
numbers.add(number);
}
数组编号=新数组();
公共静态void LetUserChooseAgin(){
System.out.println(“请选择一个选项(1/2):”;
System.out.println(“1美元兑英镑”);
System.out.println(“2英镑兑美元”);
扫描仪=新的扫描仪(System.in);
double userChoice=scanner.nextDouble();
userChoiceToRemember(userChoice);
}
公共静态void userchoicetorember(双倍数字){
双记忆=数字;
数字。添加(数字);
}
我相信,如果能找到源代码,我完全理解您的要求
可采用两种不同的方法提出:
方法1
import java.util.ArrayList;
static ArrayList < Double > numbers = new ArrayList < Double > ();
public static void letUserChooseAgain ()
{
System.out.println ("Please choose an option (1/2):");
System.out.println ("1. Dollars to Pounds");
System.out.println ("2. Pounds to Dollars");
Scanner scanner = new Scanner (System.in);
double userChoice = scanner.nextDouble ();
numbers.add (userChoice);
userChoiceToRemember (userChoice);
}
public static void userChoiceToRemember (double number)
{
double remember = number;
System.out.println ("Remembered User Choice :" + numbers.get (0));
}
import java.util.ArrayList;
静态ArrayList数字=新ArrayList();
公共静态void LetUserChooseAgin()
{
System.out.println(“请选择一个选项(1/2):”;
System.out.println(“1.美元兑英镑”);
System.out.println(“2.英镑兑美元”);
扫描仪=新的扫描仪(System.in);
double userChoice=scanner.nextDouble();
numbers.add(userChoice);
userChoiceToRemember(userChoice);
}
公共静态void userchoicetorember(双倍数字)
{
双记忆=数字;
System.out.println(“记住的用户选择:+numbers.get(0));
}
方法2
import java.util.ArrayList;
static ArrayList < Double > numbers = new ArrayList < Double > ();
public static void letUserChooseAgain ()
{
System.out.println ("Please choose an option (1/2):");
System.out.println ("1. Dollars to Pounds");
System.out.println ("2. Pounds to Dollars");
Scanner scanner = new Scanner (System.in);
double userChoice = scanner.nextDouble ();
userChoiceToRemember (userChoice);
}
public static void userChoiceToRemember (double number)
{
double remember = number;
numbers.add (remember);
System.out.println ("Remembered User Choice :" + numbers.get (0));
}
import java.util.ArrayList;
静态ArrayList数字=新ArrayList();
公共静态void LetUserChooseAgin()
{
System.out.println(“请选择一个选项(1/2):”;
System.out.println(“1.美元兑英镑”);
System.out.println(“2.英镑兑美元”);
扫描仪=新的扫描仪(System.in);
double userChoice=scanner.nextDouble();
userChoiceToRemember(userChoice);
}
公共静态void userchoicetorember(双倍数字)
{
双记忆=数字;
数字。添加(记住);
System.out.println(“记住的用户选择:+numbers.get(0));
}
我希望上面的代码能帮助你,祝你度过愉快的一天 给它一个
ArrayList
来添加:
public static void letUserChooseAgain () {
Scanner scanner = new Scanner(System.in);
double userChoice = scanner.nextDouble();
ArrayList<Double> myArrayList = new ArrayList<Double>()
userChoiceToRemember(userChoice, myArrayList);
}
public static void userChoiceToRemember (double number, ArrayList<Double> anArrayList) {
anArrayList.add(number);
}
这是假设有一个很好的理由你不能:
public static void letUserChooseAgain () {
Scanner scanner = new Scanner(System.in);
ArrayList<Double> myArrayList = new ArrayList<Double>()
myArrayList.add(scanner.nextDouble());
}
publicstaticvoid-letUserChooseAgain(){
扫描仪=新的扫描仪(System.in);
ArrayList myArrayList=新建ArrayList()
添加(scanner.nextDouble());
}
将其存储在局部变量中(就像您当前所做的那样)是无用的,因为一旦方法返回,它就会消失。您需要将其存储在类的某个静态或实例变量中。
public static void letUserChooseAgain () {
Scanner scanner = new Scanner(System.in);
double userChoice = scanner.nextDouble();
ArrayList<Double> myArrayList = new ArrayList<Double>()
myArrayList.add(userChoiceToRemember(userChoice));
}
public static void userChoiceToRemember (double number) {
return number;
}
public static void letUserChooseAgain () {
Scanner scanner = new Scanner(System.in);
ArrayList<Double> myArrayList = new ArrayList<Double>()
myArrayList.add(scanner.nextDouble());
}