Programa
// Calcula de combustível
import javax.swing.JOptionPane;
public class CombustivelTeste
{
public static void main(String[] args)
{
int n1 = 1;
String viagem1 = JOptionPane.showInputDialog(null, "Quantas viagens feitas?\nExit = -1", "Quilometragem de combustível", JOptionPane.QUESTION_MESSAGE);
int viagem = Integer.parseInt(viagem1);
if (viagem == -1)
{
System.exit(0);
}
else if (viagem == 0)
{
JOptionPane.showMessageDialog(null, "Você não fez nenhuma viagem.", "Quilometragem de combustível", JOptionPane.ERROR_MESSAGE);
}
else
{
while (n1 <= viagem)
{
String n = String.format("viagem%d", n1);
// cria um objeto diferente a cada while
// a quantidade de objetos criados tem relação com a resposta dada na linha 11
Combustivel "n" = new Combustivel();
String mensagem1 = String.format("Quantos quilômetros você fez na %s?", n);
String km1 = JOptionPane.showInputDialog(null, mensagem1, "Quilometragem de combustível", JOptionPane.QUESTION_MESSAGE);
int km = Integer.parseInt(km1);
String mensagem2 = String.format("Quantos litros consumidos na %s?", n);
String litro1 = JOptionPane.showInputDialog(null, mensagem2, "Quilometragem de combustível", JOptionPane.QUESTION_MESSAGE);
int litro = Integer.parseInt(litro1);
System.out.printf("%n%d%n%s%n", n1, n); // linha de comando desnecessária, é só para ver o que está sendo exibido, ou seja, se o programa está funcionando
++n1;
}
}
}
}
Estou tendo problemas na linha 29. Eu gostaria de criar objetos com diferentes nomes, sendo o nome dos objetos neste estilo: viagemN (N = um número inteiro). Estou fazendo isso, pois não gostaria de criar uma quantidade exata de objetos, mas deixar o usuário decidir a quantidade de objetos para criar.
Pesquisei sobre concatenação, será que daria ser?