【发布时间】:2015-06-18 17:46:23
【问题描述】:
我正在尝试用 Java 编译代码以返回布尔值,他正在调用另外两个方法,但由于某种奇怪的原因,无法识别方法的名称。
编译器向我发送此错误: 找不到符号,方法 transaccionMaquina(Producto, Tarjeta)
代码如下:
import java.util.Scanner;
public class Maquina
{
Maquina ()
{
}
public boolean transaccionMaquina(Tarjeta TjtNuevo, Producto PrdNuevo)
{
if (PrdNuevo.getPrecio()<= TjtNuevo.getSaldoTarjeta())
{
PrdNuevo.setStock(PrdNuevo.getStock()-1);
TjtNuevo.setSaldoTarjeta(TjtNuevo.getSaldoTarjeta()-PrdNuevo.getPrecio());
return true;
}
else
{
return false;
}
}
}
任何问题、建议或建设性的批评,将不胜感激
这是拥有我正在调用的方法的类的代码
这是菜单类中我要添加它的地方
// MÉTODOS (Ver Después)
public boolean ventaEfectivo(Producto PrdNuevo, Cliente ClntNuevo)
{
int intPrecio = PrdNuevo.getPrecio();
int intDineroDisponible = ClntNuevo.getDineroDisponible();
int intStock = PrdNuevo.getStock();
if (intDineroDisponible>=intPrecio)
{
intDineroDisponible = intDineroDisponible - intPrecio;
ClntNuevo.setDineroDisponible(intDineroDisponible);
intStock = intStock - 1;
PrdNuevo.setStock(intStock);
return true;
}
else
{
return false;
}
}
public boolean pagoProducto(Producto PrdNuevo, Cliente ClntNuevo, Tarjeta TjtNuevo, int intOpcion)
{
switch(intOpcion) {
case 1:
return ventaEfectivo(PrdNuevo, ClntNuevo);
break;
case 2:
return transaccionMaquina(PrdNuevo, TjtNuevo);
break;
default:
}
}
提前致谢。
【问题讨论】:
-
你调用
transaccionMaquina(Producto, Tarjeta),但方法签名是transaccionMaquina(Tarjeta, Producto)...你现在看到你的错误了吗? -
您的方法被声明为
transaccionMaquina(Tarjeta TjtNuevo, Producto PrdNuevo),但您的方法调用使用的是(PrdNuevo, TjtNuevo)。转换你的论点。
标签: java compilation