Boa Tarde tenho um exercicio pra fazer onde é um laboratorio de fotos onde o funcionario digita a quantidade de fotos do tamanho P ,M ou G e no final do dia é pra gerar um relatorio de quantidade de quantas fotos P, M e G foram feitos durante o dia, eu consegui fazer uma classe Fotos onde esta todos os metodos que recebe o tipo da foto ( P,M ou G ) e a soma da quantidade mais lucro e custo das fotos,e outra classe chamada Array onde deveria receber esses dados só que nao consigo adicionar os Objetos FOTOS no array, fiz um metodo adicionaArray e outro verificar onde quando dou o verificar ele nao mostra nada apenas 10 posições com isso dentro Fotos@62f72617, como faço para q consiga colocar todos dados do objeto F1 no array e F2 e assim por diante?
segue meus codigos
public class Fotos {
int quantidadeP = 0;
int quantidadeM = 0;
int quantidadeG = 0;
String tamP = "Tamanho P";
String tamM = "Tamanho M";
String tamG = "Tamanho G";
void adicionaP( int quan){
this.quantidadeP += + quan;
int quantidadeTotalP = this.quantidadeP;
double custo = 1.20 * quantidadeP;
double lucro = 0.50 + 1.20;
double lucroTotal = this.quantidadeP * lucro - custo;
System.out.println(getTamP() + " Quantidade: " + quantidadeTotalP + " Custo: " + custo + " Lucro: " + lucroTotal);
}
void adicionaM( int quan){
this.quantidadeM += + quan;
int quantidadeTotalM = this.quantidadeM;
double custo = 1.50 * quantidadeM;
double lucro = 0.80 + 1.50;
double lucroTotal = this.quantidadeM * lucro - custo;
System.out.println(getTamM() + " Quantidade: " + quantidadeTotalM + " Custo: " + custo + " Lucro: " + lucroTotal);
}
void adicionaG( int quan){
this.quantidadeG += + quan;
int quantidadeTotalG = this.quantidadeG;
double custo = 1.80 * quantidadeG;
double lucro = 0.90 + 1.80;
double lucroTotal = this.quantidadeM * lucro - custo;
System.out.println(getTamG() + " quantidade: " + quantidadeTotalG + " Custo: " + custo + " Lucro: " + lucroTotal);
}
public String getTamP() {
return tamP;
}
public String getTamM() {
return tamM;
}
public String getTamG() {
return tamG;
}
}
public class Array {
Fotos [] fotos;
void adicionaArray(Fotos f ){
for(int x = 0; x < this.fotos.length; x++ ){
if(this.fotos[x] == null){
this.fotos[x] = f;
}
}
}
void verificar(){
for(int x = 0; x < this.fotos.length; x++){
if(this.fotos[x] == null){
System.out.println("Nao possui fotos");
}
else{
System.out.println(this.fotos[x]);
}
}
}
}
public class Teste {
public static void main(String[] args){
Fotos f1 = new Fotos();
f1.adicionaP(10);
f1.adicionaM(3);
f1.adicionaG(1);
Array a1 = new Array();
a1.fotos = new Fotos [10];
a1.adicionaArray(f1);
a1.verificar();
Boa TArde mudei um pouco o codigo agora ele esta fazendo exatamento o que eu quero, unica duvida ainda é como coloco os dados da classe foto num array, se a classe fotos tem
[b]
int quantidadeP = 0;
int quantidadeM = 0;
int quantidadeG = 0;
quando dou na classe teste um a1.adiciona(f1), f1 seria meu objeto da classe FOTOS, ele nao deveria gravar numa posição que estiver nula exatamente isso, e quando dou um a1.verifica(); ele nao deveria printar na tela pra mim exatamente isso ???
[b]Tamanho P Quantidade: 155 Custo: 186.0 Lucro: 77.5
Tamanho M Quantidade: 12 Custo: 18.0 Lucro: 9.599999999999998
Tamanho G quantidade: 4 Custo: 7.2 Lucro: 25.200000000000006[/b]
que seria os dados que adicionei na classe Fotos usando os metodos ???
segue meu codigo para entender minha duvida
public class Fotos {
int quantidadeP = 0;
int quantidadeM = 0;
int quantidadeG = 0;
String tamP = "Tamanho P";
String tamM = "Tamanho M";
String tamG = "Tamanho G";
void mostra(){
// Metodo DO TAMANHO P
double custo = 1.20 * quantidadeP;
double lucro = 0.50 + 1.20;
double lucroTotal = this.quantidadeP * lucro - custo;
System.out.println(getTamP() + " Quantidade: " + getQuantidadeP() + " Custo: " + custo + " Lucro: " + lucroTotal);
// metodo DO TAMANHO M
double custoM = 1.50 * quantidadeM;
double lucroM = 0.80 + 1.50;
double lucroTotalM = this.quantidadeM * lucroM - custoM;
System.out.println(getTamM() + " Quantidade: " + getQuantidadeM() + " Custo: " + custoM + " Lucro: " + lucroTotalM);
double custoG = 1.80 * quantidadeG;
double lucroG = 0.90 + 1.80;
double lucroTotalG = this.quantidadeM * lucroG - custoG;
System.out.println(getTamG() + " quantidade: " + getQuantidadeG() + " Custo: " + custoG + " Lucro: " + lucroTotalG);
}
void adicionaP( int quan){
this.quantidadeP += + quan;
}
public int getQuantidadeM() {
return quantidadeM;
}
public int getQuantidadeG() {
return quantidadeG;
}
void adicionaM( int quan){
this.quantidadeM += + quan;
}
void adicionaG( int quan){
this.quantidadeG += + quan;
}
public String getTamP() {
return tamP;
}
public String getTamM() {
return tamM;
}
public String getTamG() {
return tamG;
}
public int getQuantidadeP() {
return quantidadeP;
}
}
public class Array {
Fotos [] fotos;
public Array(){
this.fotos = new Fotos [3];
}
void adicionaArray(Fotos f ){
for(int x = 0; x < this.fotos.length; x++ ){
if(this.fotos[x] == null){
this.fotos[x] = f;
}
}
}
void verificar(){
for(int x = 0; x < this.fotos.length; x++){
if(this.fotos[x] == null){
System.out.println("Nao possui fotos");
}
else{
System.out.println(" teste: " + this.fotos[x]);
}
}
}
}
public class Teste {
public static void main(String[] args){
Fotos f1 = new Fotos();
f1.adicionaP(25);
f1.adicionaP(30);
f1.adicionaP(100);
f1.adicionaM(10);
f1.adicionaM(2);
f1.adicionaG(3);
f1.adicionaG(1);
f1.mostra();
Array a1 = new Array();
a1.adicionaArray(f1);
a1.verificar();
}
}
Isso aqui é o que o java esta printando pra mim quando dou o o Verifica
aqueles códigos que aparecem (como Fotos@62f72617) é como o Java entende o objeto, e não como ele é de fato…
o que você quer na verdade, seria algo próximo ao que faz o método mostra(), mostrando informação entendível humanamente (números, Strings) invés do código referencial de um objeto ‘-’
Exatamente gostaria de quando eu der o verifica ele me mostrar o que tem na array algo que um usuario entenda só que nao sei mais o que fazer estou procurando videos no youtube apostilas e etc e tudo é algo muito superficial qual parte do codigo eu tenho que mudar para fazer com que quando eu der o verifica ele me mostrar o q um usuario entenda ? ja tentei utilizar o metodo mostra() no lugar do this.fotos[x] mas nao deixou, e mais uma pergunta pra quem puder me ajudar, essa linha Fotos@62f72617 se eu colocar no banco de dados, vai ficar gravado o que exatamente ? vai ficar gravado no banco de dados isso ?
Tamanho P Quantidade: 155 Custo: 186.0 Lucro: 77.5
Tamanho M Quantidade: 12 Custo: 18.0 Lucro: 9.599999999999998
Tamanho G quantidade: 4 Custo: 7.2 Lucro: 25.200000000000006
pq se gravar isso no array mesmo sendo em codigo de maquina ta otimo era exatamente o que eu preciso sabe me dizer ?