frnd Postado Agosto 7, 2007 Denunciar Share Postado Agosto 7, 2007 public void exibirValores() { String meses[] = ("Janeiro", "Fevereiro","Março", "Abril", "Maio", "Junho","Agosto","Setembro","Outubro","Novembro","Dezembro"); for (int i=0; i < 12; i++) System.out.println(meses + ": "+ totalMes ); } } Dá sempre erro na segunda linha... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 M@luco Belez@ Postado Agosto 7, 2007 Denunciar Share Postado Agosto 7, 2007 você deve usar {} para incializar um array e não ()String meses[] = {"Janeiro", "Fevereiro","Março","Abril", "Maio", "Junho","Agosto","Setembro","Outubro","Novembro","Dezembro"}; Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 frnd Postado Agosto 7, 2007 Autor Denunciar Share Postado Agosto 7, 2007 /** * @(#)Vendas.java * * * @author * @version 1.00 2007/8/1 */Classe Vendasimport java.util.Scanner;public class Vendas { private float totalMes[]; private int ano; public Vendas(int ano) { totalMes = new float[12]; this.ano = ano; } public void lerValores (int mesi, int mesf){ Scanner entrada = new Scanner( System.in ); if (mesi > mesf ) System.out.println("Meses inválidos!"); else { { for (int i=mesi; i <= mesf; i++) { System.out.print("mês" + i + ": "); totalMes[ i - 1 ] = entrada.nextFloat(); } } } } public void exibirValores() { String meses[] = {"Janeiro", "Fevereiro","Março","Abril", "Maio", "Junho","Agosto","Setembro","Outubro","Novembro","Dezembro"}; for (int i=0; i < 12; i++) System.out.println(meses + ": "+ totalMes ); } } -----------------------------Metodo Main public class VendasMain { public static void main(String args[]){ Vendas v = new Vendas(2007); v.lerValores(1,3); v.exibirValores(); } } quando eu digito 3 valores, eles mostra os resultados certinhos e tals.. mas no final mostra essa mensagem...Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 11 at Vendas.exibirValores(Vendas.java:40) at VendasMain.main(VendasMain.java:16)resolvido... o for deve estar assimfor (int i=0; i < 11; i++)pois existem 11 partes na array, contando com 0.. por isso que fica 11certo?E se eu quisesse somar todos os meses informados? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 M@luco Belez@ Postado Agosto 8, 2007 Denunciar Share Postado Agosto 8, 2007 você fala somar os valores de cada mês?se for pode declarar uma variável total logo depois de private int ano e no for incrementar ela.... for (int i=mesi; i <= mesf; i++) { System.out.print("mês" + i + ": "); totalMes[ i - 1 ] = entrada.nextFloat(); total += entrada.nextFloat(); } ..ai é só exibir seu valor Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 flavio Postado Agosto 8, 2007 Denunciar Share Postado Agosto 8, 2007 você esqueceu o mês de JULHO... o vetor só tem 11 posicoes, logo o laço for vai acessar uma posicao inexistente do array.PS.: frnd, quando c for postar códigos use a tag CODE e deixe o código identado... facilita a leitura Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 frnd Postado Agosto 8, 2007 Autor Denunciar Share Postado Agosto 8, 2007 Ok..tenho outro problema...tenho uma classe filha que pretende fazer a ordenacao dos numeros armazenados no vetor...como faço? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 flavio Postado Agosto 9, 2007 Denunciar Share Postado Agosto 9, 2007 é... bom, a ordenação é um clássico na programação... todo livro fala disso e acredito que você saiba fazer... (tá só com preguiça hehehhe)pra facilitar, eu usaria ArrayList ou HashMap (preferencialmente) pois já tem muitos métodos prontos interessantes. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
frnd
public void exibirValores() {
String meses[] = ("Janeiro", "Fevereiro","Março",
"Abril", "Maio", "Junho","Agosto","Setembro","Outubro","Novembro","Dezembro");
for (int i=0; i < 12; i++)
System.out.println(meses + ": "+ totalMes );
}
}
Dá sempre erro na segunda linha...
Link para o comentário
Compartilhar em outros sites
6 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.