Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    [Java] : errore sui costruttori

    Salve a tutti, sapreste spiegarmi perchè nel mio file viene fuori questo errore ??
    codice:
    error: no suitable constructor found for Articolo(String,int)
    			Articolo x = new Articolo(codice, narticoli);
    			             ^
        constructor Articolo.Articolo(int) is not applicable
          (actual and formal argument lists differ in length)
        constructor Articolo.Articolo() is not applicable
          (actual and formal argument lists differ in length)
        constructor Articolo.Articolo(int,int) is not applicable
          (actual argument String cannot be converted to int by method invocation conversion)
    1 error

  2. #2
    postaci il costruttore di Articolo così vediamo dov'è l'errore!
    così è un pò difficile sapere dove sbagli.

  3. #3
    codice:
    import java.util.*;
    import java.io.*;
    
    public class GestoreMagazzino
    {
    	public static ArrayList<Articolo> art = new ArrayList<Articolo>();
    	public static Articolo pass = new Articolo();
    	
    	public static void interazioneUtente() throws FileNotFoundException
    	{
    		Scanner input = new Scanner(System.in);
    		System.out.println("Quanti articoli vuoi creare ?");
    		int narticoli = input.nextInt();
    		PrintWriter file = new PrintWriter("magazzino.dat");
    		for(int i = 0; i< 100; i++)
    		{
    			String codice = pass.next();
    			Articolo x = new Articolo(codice, narticoli);
    			art.add(x);			
    			narticoli++;
    			System.out.println(x.toString());
    			file.println(x.toString());
    			
    		}
    		
    		file.close();
    	}
    	
    	public static void main(String[] args) throws FileNotFoundException
    	{
    		interazioneUtente();
    	}
    }

  4. #4
    Il codice che ho postato, non mi mostra più questo errore, però in compenso quando lo vado ad eseguire, mi da quest'altro tipo di errore dopo che immetto in input il valore:
    codice:
    Quanti articoli vuoi creare ?
    5
    cmtzwc, 5
    crexgy, 6
    Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 25
    	at java.lang.String.substring(Unknown Source)
    	at Articolo.next(Articolo.java:50)
    	at GestoreMagazzino.interazioneUtente(GestoreMagazzino.java:19)
    	at GestoreMagazzino.main(GestoreMagazzino.java:33)
    ((

  5. #5
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802

    Re: [Java] : errore sui costruttori

    Originariamente inviato da Smoker93
    Salve a tutti, sapreste spiegarmi perchè nel mio file viene fuori questo errore ??
    codice:
    error: no suitable constructor found for Articolo(String,int)
    			Articolo x = new Articolo(codice, narticoli);
    			             ^
        constructor Articolo.Articolo(int) is not applicable
          (actual and formal argument lists differ in length)
        constructor Articolo.Articolo() is not applicable
          (actual and formal argument lists differ in length)
        constructor Articolo.Articolo(int,int) is not applicable
          (actual argument String cannot be converted to int by method invocation conversion)
    1 error
    Ti viene scritto il perché di questo errore, basta leggere il messaggio di errore

    Stai crendo un oggetto Articolo passando una stringa e un intero ma nessuno dei costruttori che hai fornito accetta una stringa e un intero. Articolo() non ha parametri, Articolo(int) vuole solo un intero e Articolo(int, int) ne vuole due... Basta che aggiungi un costruttore Articolo(String, int).
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  6. #6
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Originariamente inviato da Smoker93
    Il codice che ho postato, non mi mostra più questo errore, però in compenso quando lo vado ad eseguire, mi da quest'altro tipo di errore dopo che immetto in input il valore:
    codice:
    Quanti articoli vuoi creare ?
    5
    cmtzwc, 5
    crexgy, 6
    Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 25
    	at java.lang.String.substring(Unknown Source)
    	at Articolo.next(Articolo.java:50)
    	at GestoreMagazzino.interazioneUtente(GestoreMagazzino.java:19)
    	at GestoreMagazzino.main(GestoreMagazzino.java:33)
    ((
    Dov'è il codice di Articolo.next()?
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  7. #7
    codice:
    import java.util.*;
    import java.io.*;
    public class Articolo
    {
    	private String codice;
    	private int narticoli;
    	public Random random;
    	private static final String LETTERS = "abcdefgjklmnopqrstuvwxyz";
    	
    	public Articolo(String codice, int narticoli)
    	{
    		this.codice=codice;
    		this.narticoli=narticoli;
    	}
    	
    	public Articolo()
    	{
    		random = new Random();
    	}
    	
    	public Articolo(int seed)
    	{
    		random = new Random(seed);
    	}
    	
    	public String codice()
    	{
    		return codice;
    	}
    	
    	public int narticoli()
    	{
    		return narticoli;
    	}
    	
    	public Random random()
    	{
    		return random;
    	}
    	
    	public String next()
    	{
    		int index;
    		String password="";
    		for(int i=0; i<6;i++)
    		{
    			index = random.nextInt(26); // esprime la massima lunghezza possibile
    			password = password + LETTERS.substring(index, index + 1);
    		}
    		
    		/*for(int i=0; i<3; i++)                   serve per la creazione del codice alfanulmerico invece a noi serve solo quello costituito da lettere
    		{
    			index = random.nextInt(10);
    			password = password + index;
    		}*/
    		return password;	
    	}
    	
    	public String toString()
    	{
    		return codice + ", " + narticoli;
    	}
    }
    questo è il codice di Articolo

  8. #8
    La cosa strana è che se io metto in input ad esempio 45 mi genera una volta tra password e poi il suddetto errore, poi a volte mi genera 2 password e poi esce oppure lo da direttamente O.o come è posibile ??

  9. #9
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Originariamente inviato da Smoker93
    codice:
     
    private static final String LETTERS = "abcdefgjklmnopqrstuvwxyz";
    Guarda bene, ti manca una lettera...

    Originariamente inviato da Smoker93
    codice:
     
    index = random.nextInt(26);
    password = password + LETTERS.substring(index, index + 1);
    Invece del magic number 26 usa una costante, ad esempio LETTERS.length. Attenzione, cosa succede nel substring se nextInt() ti restituisce 25?

    Originariamente inviato da Smoker93
    questo è il codice di Articolo
    Bastava riportarne i pezzi principali...
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.