Я создаю моделирование торгового автомата для школьного проекта, и у меня возникли проблемы с прохождением этих первых барьеров. Одним из требований к проекту является наличие 5 глобальных переменных, которые я принимаю как средние переменные, определенные вне любого метода, но внутри класса. Сначала я не смог позвонить никому из них, пока не узнал о «Статическом» и «Объекте», и я обошел эту проблему, создав методы экземпляра, которые обращаются к этим переменным, и создавая объект этих методов экземпляра в мой основной статический метод. Но проблема в том, что мне нужны эти переменные для увеличения, и они не изменятся с 0! Я пытаюсь позволить пользователю «вставить монеты» в машину, но ничего не происходит, когда я пытаюсь. Во всяком случае, вот код, он нигде не закончен, но небольшая помощь и разъяснение в том, что я делаю неправильно, будут высоко оценены. Спасибо!Переменные не будут увеличиваться, вызывая нестатические методы из статического метода
package project3;
import java.util.Scanner;
public class Project3 {
double nickels = 0.00;
double quarters = 0.00;
double dimes = 0.00;
double dollars = 0.00;
double credits = nickels + quarters + dimes + dollars;
public static void main(String[] args) {
Project3 menu = new Project3();
menu.menu();
}
public void menu() {
int counter = 0;
Scanner input = new Scanner(System.in);
while (counter >=0 && counter <=4){
System.out.print("Credit: "+credits +"\n0. Insert Money \n1. Twix: 50¢ \n2. Marathon Bar: $1.00 \n3. Snickers: 75¢ \n4. Return Change \nSelection: ");
counter = input.nextInt();
switch (counter) {
case 0: getMoney();
break;
case 1:
break;
case 2:
break;
case 3:
break;
case 4:
break;
}
}
}
public void getMoney(){
int counter = 0;
Scanner input = new Scanner(System.in);
while (counter >=0 && counter <=4){
System.out.print("Credit : " +credits+"\n1. Insert Nickel \n2. Insert Dime \n3. Insert Quarter \n4. Insert Dollar \n5. Return to menu \nSelection: ");
counter = input.nextInt();
switch (counter) {
case 1: nickels += .05;
break;
case 2: dimes += .10;
break;
case 3: quarters += .25;
break;
case 4: dollars += 1.00;
break;
}
}
}
}
пихты st all, чтобы его компилировать, попробуйте заменить '.05',' .10', '.25' и т. д. с' 0.05', '0.10' и' 0.25', соответственно. –