(对于初学者 Java 类)作业指定我只创建一个 Scanner 实例,并且我需要在多个方法中使用它,所以我在 main 之外声明了它。我声明了一个数组并尝试将其与方法调用 initialCash() 等同起来,就像我在 Python 中所做的那样。问题是如果我将 initialCash 方法设为静态,我就不能使用 Scanner。如果 initialCash() 不是静态的,Eclipse 会告诉我它“不能对非静态方法进行静态引用”。(in the money = initialCash(); line)我该如何解决这个问题?
package proj1;
import java.util.Scanner;
public class Project1
{
Scanner scanner = new Scanner(System.in);
public static void main(String[] args)
{
int[] money = new int[4];
money = initialCash();
}
public int[] initialCash()
{
int[] initialMoney = new int[4];
while(true)
{
System.out.print("Ones: ");
initialMoney[0] = scanner.nextInt();
System.out.print("Fives: ");
initialMoney[1] = scanner.nextInt();
System.out.print("Tens: ");
initialMoney[2] = scanner.nextInt();
System.out.print("Twenties: ");
initialMoney[3] = scanner.nextInt();
if((initialMoney[0]>=0)&&(initialMoney[1]>=0)&&(initialMoney[2]>=0)&&(initialMoney[3]>0))
{
return initialMoney;
}
else
{
System.out.println("One or more invalid denominations. Try again.");
}
}
}
}