I'm always getting the same output from
System.out.println(Software1.toString());
Class:
public class Software{ /**Dichiarazione */
private String denominazione;
private String produttore;
private String versione;
private String sistemaOperativo;
private static int anno;
private static double prezzo;
Software(){ /**Costruttore di default */
denominazione = "Software";
produttore = "D'Avanzo";
versione = "1.0";
sistemaOperativo = "Windows";
anno = 2021;
prezzo = 100.00;
} /**Costruttore non di default */
Software(String denominazione, String produttore, String versione, String sistemaOperativo, int anno, double prezzo){
this.denominazione = denominazione;
this.produttore = produttore;
this.versione = versione;
this.sistemaOperativo = sistemaOperativo;
this.prezzo = prezzo;
this.anno = anno;
}
/** Setter e getter */
public String getDenominazione(){
return this.denominazione;
}
public void setDenominazione(String denominazione){
denominazione = denominazione;
}
public String getProduttore(){
return this.produttore;
}
public void setProduttore(String produttore){
produttore = produttore;
}
public String getVersione(){
return this.versione;
}
public void setVersione(String versione){
versione = versione;
}
public String getSistemaOperativo(){
return this.sistemaOperativo;
}
public void setSistemaOperativo(String sistemaOperativo){
sistemaOperativo = sistemaOperativo;
}
public int getAnno(){
return this.anno;
}
public void setAnno(int anno){
anno = anno;
}
public double getPrezzo(){
return this.prezzo;
}
public void setPrezzo(double prezzo){
prezzo = prezzo;
}
public String toString(){
return "Denominazione: "+ denominazione +"\nProduttore: " + produttore + "\nVersione: " + versione + "\nSistema Operativo: "
+ sistemaOperativo + "\nAnno: " + anno + "\nPrezzo: " + prezzo;
}
public int compareAnno(Software Software2){
if (this.anno == Software.anno) return 0;
else if (this.anno < Software.anno) return -1;
else return 1;
}
public int comparePrezzo(Software Software2){
if (this.prezzo == Software.prezzo) return 0;
else if (this.prezzo < Software.prezzo) return -1;
else return 1;
}
}
main:
import java.util.Scanner;
public class mainSoftware{
public static void main(String[] args){
Scanner input = new Scanner(System.in);
int scelta;
Software Software1 = new Software();
Software Software2 = new Software();
System.out.println("Inserisci la scelta");
System.out.println("0) Uscire");
System.out.println("1) Inserimento di tutti i dati primo oggetto");
System.out.println("2) Informazioni primo oggetto");
System.out.println("3) Comparazione Anno d'uscita");
System.out.println("4) Comparazione prezzo");
System.out.println("5) Inserimento di tutti i dati secondo oggetto");
System.out.println("6) Informazioni secondo oggetto");
do{
try{
int a = Integer.parseInt(input.nextLine());
}catch(NumberFormatException ex){};
scelta = Integer.parseInt(input.nextLine());
switch(scelta){
case 1:
System.out.println("Inserisci la denominazione: ");
Software1.setDenominazione(input.nextLine());
System.out.println("Inserisci il produttore: ");
Software1.setProduttore(input.nextLine());
System.out.println("Inserisci la versione: ");
Software1.setVersione(input.nextLine());
System.out.println("Inserisci il sistema operativo: ");
Software1.setSistemaOperativo(input.nextLine());
System.out.println("Inserisci il prezzo: ");
Software1.setPrezzo(Double.parseDouble(input.nextLine()));
System.out.println("Inserisci l'anno: ");
Software1.setAnno(input.nextInt());
break;
case 2:
System.out.println(Software1.toString());
break;
case 3:
if(Software1.compareAnno(Software2) == 0) System.out.println("Sono usciti lo stesso anno");
else if (Software1.compareAnno(Software2) < 0) System.out.println("Il Software 2 è uscito prima");
else System.out.println("Il Software 1 è uscito prima");
break;
case 4:
if(Software1.comparePrezzo(Software2) == 0) System.out.println("Costano uguale");
else if (Software1.comparePrezzo(Software2) < 0) System.out.println("Il software 2 costa di più");
else System.out.println("Il software 1 costa di più");
break;
case 5:
System.out.println("Inserisci la denominazione: ");
Software2.setDenominazione(input.nextLine());
System.out.println("Inserisci il produttore: ");
Software2.setProduttore(input.nextLine());
System.out.println("Inserisci la versione: ");
Software2.setVersione(input.nextLine());
System.out.println("Inserisci il sistema operativo: ");
Software2.setSistemaOperativo(input.nextLine());
System.out.println("Inserisci l'anno: ");
Software2.setAnno(input.nextInt());
System.out.println("Inserisci il prezzo: ");
Software2.setPrezzo(Double.parseDouble(input.nextLine()));
break;
case 6:
System.out.println(Software2.toString());
break;
default:
System.out.println("Numero errato");
break;
}
if(scelta != 0) System.out.println("Inserisci la scelta");
}while(scelta != 0);
}
}