Bom criei três classes: CALCULODOPREÇO.JAVA(main), PRODUTOS.JAVA,HORARIO.JAVA.
Os codigos ficam respectivamente assim:
import java.util.Scanner;
public class CALCULODOPREÇO {
public static void menu(){
System.out.printf("\t Dias da semana: \n");
System.out.printf("\t 1.Segunda,terça,quarta,quinta e Sexta \n");
System.out.printf("\t 2.Sabado e Domingo \n");
System.out.println("Em que dia você fara a compra ?: ");
}
public static void main(String[] args) {
Scanner s=new Scanner(System.in);
String nomedoproduto;
int diadasemana,hora,min,seg;
double preço;
System.out.println("Digite o nome do produto: ");
nomedoproduto=s.nextLine();
System.out.println("Digite o preço e a hora em que ira comprar: ");
System.out.printf("\npreço:");
preço=s.nextDouble();
System.out.printf("\nHora:");
hora=s.nextInt();
System.out.printf("\nMinutos:");
min=s.nextInt();
System.out.printf("\nSegundos:");
seg=s.nextInt();
menu();
diadasemana=s.nextInt();
HORARIO horadecompra=new HORARIO(hora,min,seg);
PRODUTOS x=new PRODUTOS(nomedoproduto,preço,horadecompra,diadasemana);
System.out.printf("\no nome do produto é %s ,e na hora o preço deste"
+ "produto é igual a: %1.f\n",x.getnome(),x.getpreço());
}
}
public class PRODUTOS {
private String nomedoproduto;
private double preço;
public PRODUTOS(String nome,double preço,HORARIO horadecompra,int diadasemana){
this.nomedoproduto=nome;
this.preço=PREÇO(horadecompra,preço,diadasemana);
}
public double PREÇO(HORARIO horadecompra,double preço,int diadasemana){
if(diadasemana==1){
if(horadecompra.gethora()<20){
return preço;
}
}
return preço=preço-(preço*0.1);
}
public double getpreço(){
return this.preço;
}
public String getnome(){
return this.nomedoproduto;
}
}
public class HORARIO {
private int hora,min,seg;
public HORARIO(int hora,int min,int seg){
if(hora>=0 && hora<24)
this.hora=hora;
else
throw new IllegalArgumentException("hora inválida");
if(min>=0 && min<60)
this.min=min;
else
throw new IllegalArgumentException("minutos invalidos");
if(seg>=0 && seg<60)
this.seg=seg;
else
throw new IllegalArgumentException("segundos invalidos");
}
public String toString(){
return String.format("%d:%d:%d",gethora(),getmin(),getseg());
}
public int gethora(){
return this.hora;
}
public int getmin(){
return this.min;
}
public int getseg(){
return this.seg;
}
}
Qual o erro? me ajudem por favor!
Os codigos ficam respectivamente assim:
import java.util.Scanner;
public class CALCULODOPREÇO {
public static void menu(){
System.out.printf("\t Dias da semana: \n");
System.out.printf("\t 1.Segunda,terça,quarta,quinta e Sexta \n");
System.out.printf("\t 2.Sabado e Domingo \n");
System.out.println("Em que dia você fara a compra ?: ");
}
public static void main(String[] args) {
Scanner s=new Scanner(System.in);
String nomedoproduto;
int diadasemana,hora,min,seg;
double preço;
System.out.println("Digite o nome do produto: ");
nomedoproduto=s.nextLine();
System.out.println("Digite o preço e a hora em que ira comprar: ");
System.out.printf("\npreço:");
preço=s.nextDouble();
System.out.printf("\nHora:");
hora=s.nextInt();
System.out.printf("\nMinutos:");
min=s.nextInt();
System.out.printf("\nSegundos:");
seg=s.nextInt();
menu();
diadasemana=s.nextInt();
HORARIO horadecompra=new HORARIO(hora,min,seg);
PRODUTOS x=new PRODUTOS(nomedoproduto,preço,horadecompra,diadasemana);
System.out.printf("\no nome do produto é %s ,e na hora o preço deste"
+ "produto é igual a: %1.f\n",x.getnome(),x.getpreço());
}
}
public class PRODUTOS {
private String nomedoproduto;
private double preço;
public PRODUTOS(String nome,double preço,HORARIO horadecompra,int diadasemana){
this.nomedoproduto=nome;
this.preço=PREÇO(horadecompra,preço,diadasemana);
}
public double PREÇO(HORARIO horadecompra,double preço,int diadasemana){
if(diadasemana==1){
if(horadecompra.gethora()<20){
return preço;
}
}
return preço=preço-(preço*0.1);
}
public double getpreço(){
return this.preço;
}
public String getnome(){
return this.nomedoproduto;
}
}
public class HORARIO {
private int hora,min,seg;
public HORARIO(int hora,int min,int seg){
if(hora>=0 && hora<24)
this.hora=hora;
else
throw new IllegalArgumentException("hora inválida");
if(min>=0 && min<60)
this.min=min;
else
throw new IllegalArgumentException("minutos invalidos");
if(seg>=0 && seg<60)
this.seg=seg;
else
throw new IllegalArgumentException("segundos invalidos");
}
public String toString(){
return String.format("%d:%d:%d",gethora(),getmin(),getseg());
}
public int gethora(){
return this.hora;
}
public int getmin(){
return this.min;
}
public int getseg(){
return this.seg;
}
}
Qual o erro? me ajudem por favor!