我想編譯一個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)'... DO你現在看到你的錯誤? – Tom
你的方法被聲明爲'transaccionMaquina(Tarjeta TjtNuevo,Producto PrdNuevo)',但你的方法調用正在使用'(PrdNuevo,TjtNuevo)'。改變你的觀點。 – CubeJockey