【发布时间】:2014-10-08 04:23:42
【问题描述】:
我正在为一个学校项目创建一个自动售货机模拟,但我一直无法克服最初的几个障碍。该项目的要求之一是拥有 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;
}
}
}
}
【问题讨论】:
-
首先,要让它编译,请尝试将
.05、.10、.25等分别替换为0.05、0.10和0.25。跨度>
标签: java variables static non-static