Buonasera. Da qualche giorno ho iniziato a studiare Java, a breve inizia un corso di formazione e vorrei portarmi avanti con lo studio.
Sto provando a creare un piccolo programmino che mi permetta di inserire titolo, autore e prezzo di tot libri.
Di conseguenza ho creato una classe ed il main che incollo qui di seguito:
public class Libro {
private String nome ="ciao";
private String autore ="bhu";
private int costo =1;
//costruttore
public Libro (String nome, String autore, int costo)
{
this.setNome(nome);
this.setAutore(autore);
this.setCosto(costo);
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getAutore() {
return autore;
}
public void setAutore(String autore) {
this.autore = autore;
}
public double getCosto() {
return costo;
}
public void setCosto(int costo) {
this.costo = costo;
}
}
import java.util.*;
public class libreria {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner acquisizione = new Scanner(System.in);
// inizio variabili dell'oggetto
String nome="nome";
String autore="autore";
int prezzo=1;
Libro[] volumi;
// fine variabili dell'oggetto
System.out.println("quanti libri vuoi inserire?: ");
int numeroLibri=acquisizione.nextInt();
volumi=new Libro[numeroLibri];
for (int numeroOggetto=0; numeroOggetto<5;numeroOggetto++)
{
System.out.println("Titolo libro?");
nome=acquisizione.nextLine();
System.out.println("autore?");
autore=acquisizione.nextLine();
System.out.println("prezzo?");
prezzo=acquisizione.nextInt();
volumi[numeroOggetto]= new Libro(nome, autore, prezzo);
}
for (int numeroOggetto=0; numeroOggetto<5;numeroOggetto++)
{
System.out.println(volumi[numeroOggetto]);
}
}
}
Anche se in maniera ancora elementare, so lavorare su degli oggetti elementari e tutta la trafila del passargli i parametri con metodi e costruttori, ma ora che sto cercando di creare un array di oggetti non riesco a raccapezzarmici, non capisco perchè non riesco ad invocare il metodo .setNome() per passare il relativo parametro, di conseguenza l'oggetto stampato restituisce dei valori assolutamente insensati.
Abbiate pazienza, ho aperto libri/web e tutorial su java solo da 7 giorni
Ringrazio in anticipo chiunque possa illuminarmi e mettermi sulla via giusta.