array required, but String/int found

Iniciado por SrBlackSmith, 8 Abril 2019, 21:22 PM

0 Miembros y 1 Visitante están viendo este tema.

SrBlackSmith

Hola, soy nuevo en java, y no entiendo el porque de los errores:

   package arrays;
   import java.lang.Math;
   import java.util.*;
public class EmpresaScanner {
   public static void main (String[] args) {
      Scanner sc = new Scanner(System.in);
      int n;
      int pre=sc.nextInt();
      int i, j;
      String nom=sc.nextLine();
      System.out.print("Introduzca el numero de productos: ");
      n = sc.nextInt();
      for(i=0;i<n;i++){
         String[]nombre=new String[n];
         System.out.print("Escriba el nombre del procucto para continuar: ");
         nombre=nom;
      }
      for(j=0;j<n;j++) {
         int[]precio=new int[n];
         System.out.print("Escriba el precio del procucto para continuar: ");
         precio[j]=pre;
      }
      System.out.println("Datos recogidos: ");
      for(int f=0; f<n; f++){
         System.out.println(nom);
      }
      for(int c=0; c<n; c++){
         System.out.println(pre[j]);
      }
   }
}

CalgaryCorpus

Has definido nombre como un arreglo de strings. pero le asignas al arreglo solo 1 string. No puedes hacer esto.

Tienes que asignar ese string, solo a 1 de las posiciones del arreglo
al estilo

Código (java) [Seleccionar]
nombre[4] = "hola";
suponiendo que quieres modificar el string con indice 4 dentro del arreglo nombre
Aqui mi perfil en LinkedIn, invitame un cafe aqui

SrBlackSmith

Cita de: CalgaryCorpus en  8 Abril 2019, 21:55 PM
Has definido nombre como un arreglo de strings. pero le asignas al arreglo solo 1 string. No puedes hacer esto.

Tienes que asignar ese string, solo a 1 de las posiciones del arreglo
al estilo

Código (java) [Seleccionar]
nombre[4] = "hola";
suponiendo que quieres modificar el string con indice 4 dentro del arreglo nombre
Creo que eso no me sirve, te pongo el enunciado, por si ayuda, "Escribe en Java una aplicación que nos pida un número de productos a introducir, y a continuación el nombre y el valor de cada uno de ellos. "

CalgaryCorpus

Dudas:

Por que dices que no te sirve lo que comente antes?
Has resuelto el problema de la incompatibilidad de tipos de otra forma?
Ahora preguntas otra cosa?
Aqui mi perfil en LinkedIn, invitame un cafe aqui

EdePC

Saludos,

EmpresaScanner.java:24: error: array required, but String found
      System.out.println(nom[i]);
                            ^
EmpresaScanner.java:27: error: array required, but int found
      System.out.println(pre[j]);
                            ^
2 errors


- Pues justo lo que dice ahí, nom y pre son String no Array, entonces no puedes pedirles [ i ] o [ j ].

- Veo que tu código está bastante mal en sintaxis, por ejemplo, estás declarando Array dentro del Bucle FOR el cual lo vuelve a crear en cada iteración perdiendo todo lo que tenía antes. También estás pidiendo datos que no los estás guardando, en tu dos últimos FOR estás usando variables i y j que no corresponden con las variables f y c...

- Recomiendo volver a hacer tu código paso a paso