Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

460
Vistas
usando .startsWith en caso de cambio en Java

Quiero usar .startsWith en caso de cambio en Java pero espera String y no un valor booleano. Intenté crear una función contenedora para él y devolver String, pero recibo un error que dice constant expected

Quiero convertir el siguiente bloque if-else en caso de cambio

 if (currCmd.equals(allProduct)) { warehouseObj.viewItems(); } else if (currCmd.startsWith(buyProduct)) { // todo String productId = currCmd.substring(4); long lProductId=Long.parseLong(productId); cartProcessor.addItem(currUser.getUserid(),lProductId,currCart,warehouseObj); } else if (currCmd.equals(viewCart)) { cartProcessor.viewItems(currUser.getUserid(),currCart); } else if (currCmd.equals(checkout)) { cartProcessor.checkOut(currUser.getUserid(),currCart); } else if (currCmd.startsWith(delete)) { // todo String productId = currCmd.substring(7); long lProductId =Long.parseLong(productId); warehouseObj.deleteItem(lProductId, currUser.getIsAdmin()); } else if (currCmd.equals(addProduct)) { if (!currUser.getIsAdmin()) { System.out.println("PERMISSION DENIED"); } else { // remove sc Scanner sc = new Scanner(System.in); addProduct2Warehouse(warehouseObj, sc); } } else { System.out.println("INVALID COMMAND!"); }
over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Suponiendo que currCmd es una cadena que puede parecerse a "buy $PRODUCT_ID" o "delete $PRODUCT_ID" para los comandos en comparación con startsWith , puede valer la pena extraer el "verbo" del comando y usarlo en el switch (usando la flecha más corta sintaxis de Java 12+):

 String cmd = currCmd.split(" ")[0]; switch (cmd) { case ALL_PRODUCT -> warehouseObj.viewItems(); case BUY_PRODUCT -> { String productId = currCmd.substring(4); long lProductId = Long.parseLong(productId); cartProcessor.addItem(currUser.getUserid(), lProductId, currCart, warehouseObj); } case VIEW_CART -> cartProcessor.viewItems(currUser.getUserid(), currCart); case CHECKOUT -> cartProcessor.checkOut(currUser.getUserid(), currCart); case DELETE -> { String productId = currCmd.substring(7); long lProductId = Long.parseLong(productId); warehouseObj.deleteItem(lProductId, currUser.getIsAdmin()); } case ADD_PRODUCT -> { if (!currUser.getIsAdmin()) { System.out.println("PERMISSION DENIED"); } else { // remove sc Scanner sc = new Scanner(System.in); addProduct2Warehouse(warehouseObj, sc); } } default -> System.out.println("INVALID COMMAND!"); }
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda