Foro de elhacker.net

Programación => Java => Mensaje iniciado por: SrBlackSmith en 8 Abril 2019, 21:22 pm



Título: array required, but String/int found
Publicado por: SrBlackSmith en 8 Abril 2019, 21:22 pm
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]);
      }
   }
}


Título: Re: array required, but String/int found
Publicado por: 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
  1. nombre[4] = "hola";
suponiendo que quieres modificar el string con indice 4 dentro del arreglo nombre


Título: Re: array required, but String/int found
Publicado por: SrBlackSmith en 8 Abril 2019, 22:08 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
  1. 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. "


Título: Re: array required, but String/int found
Publicado por: CalgaryCorpus en 9 Abril 2019, 02:23 am
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?


Título: Re: array required, but String/int found
Publicado por: EdePC en 9 Abril 2019, 02:57 am
Saludos,

Código:
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