我需要帮助理解如何将变量从类链接到我的主类,它似乎在我之前使用过的某些代码实例中工作,但我不清楚它是如何工作的。在这种情况下,Dollar 变量需要从来自扫描仪输入的测试器类中的 main
方法中提取一个 integer
。另外,如何实现我的 while 循环并让它调用其他方法以便打印所需的变量。这个程序的重点是找出你可以用固定金额获得的最大酒吧,假设每个是 1 美元,每个酒吧有一张优惠券,6 张优惠券可以让你免费酒吧(里面有 1 张优惠券)。我是初学者,我不知道下一步该去哪里。
public class VendingMachine
{
public static int dollars;
public static int coupons = dollars;
public static int bars = dollars;
public VendingMachine (int x)
{
dollars = x;
}
public VendingMachine()
{
this (0);
}
public static void Bars()
{
int newbars;
newbars = coupons/6;
bars = bars + newbars;
}
public static void Coupons()
{
int newcoupons;
newcoupons = (coupons % 6) +(coupons/6);
coupons = newcoupons + coupons;
}
}
import java.util.*;
public class VendMachineTest{
public static void main(String[]args, int coupons)
{
Scanner user_input = new Scanner(System.in);
int dollars;
System.out.println("Amount of Cash?");
dollars = user_input.nextInt();
VendMachineTest totalbars = new VendMachineTest();
while ( coupons >= 6)
{
VendMachineTest.Bars();
VendMachineTest.Coupons();
}
}
System.out.println( dollars +""+coupons+""+bars+"");
}
最佳答案
发布的代码有许多语法错误。要纠正这些错误,您应该考虑以下事项:
- 虽然不是错误,但方法名称应以小写字符开头(根据良好的编程实践)
- 您在一个类中声明了两个公共(public)类,其中出现错误(假设您在一个文件中使用这两个类)
- 您将变量(优惠券和条形图)声明为未分配的变量(使用 public int coupons、bars;就足够了)。
- 你的 main 方法正在使用一个 int (优惠券),它不会作为 main 方法在 JVM 中注册,因此它不会允许你运行该程序。
程序创建一个新的 VendMachineTest 对象,该对象在应用程序期间未使用。
在您的 VendingMachine 类中,您将一个 int 除以一个 int,这将产生一个 double(可能会损失精度)
您想要使用内部类来显示值。
public class VendMachineTest{
public static void main(String[] args){
//insert your test method here
}
private class VendingMachine{
public double coupons, dollars, bars; // declare the variable
// values declared here can be used in the VendMachineTest
}
}
此外,如果您没有将 VendingMachine 类中的方法声明为静态方法会更好。如果创建一个新的 VendingMachine 对象
VendingMachine vendingMachine = new VendingMachine(dollars);
您可以使用 vendingMachine.getBars() 而不是使用类名。
关于java - 使用 While 循环、使用扫描仪输入变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19694567/