Meu professor de lógica passou um exercício, para trabalharmos com vetores e matrizes.
A questão é simples, criar um vetor para guardar o nome das filiais, outro para o nome dos remédios, outro para o preço, outro para a valor de todos os remédios de cada filial, e checar qual tem mais R$, e uma matriz para guardar a quantidade que cada filial tem de cada remédio.
A parte de criação de arrays e manipulação de dados eu até que fiz, mas no final, ele pediu para que fizesse outra checagem, dessa vez pelo nome do remédio, e ver quantos desse remédio tem em todas a filiais somadas.
Estou achando que preciso fazer outro somatório na parte final, mas não estou vendo como faze-lo. Também acho que a última checagem não está certa, onde r = -1.
import java.util.Scanner;
public class Farmacia {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
// declaração de variaveis e criação de arrays
int[][] q = new int[2][2];
String[] nr = new String[2];
double[] pr = new double[2];
String[] nf = new String[2];
double[] sf = new double[2];
int r = 1;
String rm;
// armazenar o nome das filiais
for (int j = 0; j < nf.length; j++) {
System.out.print("Qual o nome da "+(j+1)+"ª filial?");
nf[j] = s.next();
}
// armazenar o nome e o preço dos remedios
for (int i = 0; i < nr.length; i++) {
System.out.print("Qual o nome do "+(i+1)+"º remédio?");
nr[i] = s.next().toUpperCase();
System.out.print("Qual o preço dele? R$");
pr[i] = s.nextDouble();
// armazenar a quantidade de caixas existem em cada filial
for (int j = 0; j < q.length; j++) {
System.out.print("Quantas caixas de "+nr[i]+" tem na filial "+nf[j]+"?");
q[i][j] = s.nextInt();
}
}
// checar qual filial tem mais R$ no total
for (int j = 0; j < sf.length; j++) {
sf[j] = 0;
for (int i = 0; i < q.length; i++) {
sf[j] = sf[j] + q[i][j] * pr[i];
}
if (sf[j] > sf[r])
r = j;
}
System.out.println("A filial mais rica é a "+nf[r]);
//Checar quantos do tal remédio existem em todas as filiais somadas
System.out.print("Qual é o remédio? ");
rm = s.next().toUpperCase();
r = -1;
do {
System.out.println(nr[r]);
System.out.println(rm);
r++;
}while (nr[r] == rm || r == 2);
if (nr[r] == rm){
int x = 0;
for (int j = 0; j < nr.length; j++) {
x = x + q[r][j];
}
System.out.println("Quantidade de caixas de "+rm+" é "+x);
} else{
System.out.println("Não existe estoque de "+rm);
}
}
}